更新時間:2021-12-03 09:22:37 來源:動力節點 瀏覽2289次
this 指向并不是在函數定義的時候確定的,而是在調用的時候確定的。換句話說,函數的調用方式(直接調用、方法調用、new調用、bind、call、apply、箭頭函數)決定了 this 指向。
函數內部的 this 指向全局對象,在瀏覽器中全局對象是 window,在 NodeJs 中全局對象是 global。直接調用并不是指在全局作用域下進行調用,在任何作用域下,直接通過 函數名(...) 來對函數進行調用的方式,都稱為直接調用。
函數中的 this 指向調用該方法的對象。通過對象來調用其方法函數,它是 對象.方法函數(...) 這樣的調用形式。
在 es5 中,用 new 調用一個構造函數,會創建一個新對象,而其中的 this 就指向這個新對象。
箭頭函數沒有自己的 this 綁定,箭頭函數中使用的 this,其實是直接包含它的那個函數或函數表達式中的 this。
function person(name){
var _newObj = {
constructor:person,
_proto_:person.prototype
}
_newObj.constructor(name)
// _newObj.constructor.call(_newObj,name)
return _newObj
})()
如果您想了解更多相關知識,不妨來關注一下動力節點的Vue.js視頻教程,視頻內容由淺到深,通俗易懂,適合沒有基礎的小伙伴學習,相信對大家會有所幫助的。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習