3、還有可以用函式去改變this的指向問題的:
2. bind方法呼叫this.
在這裡this的意思有很多,就是在不同時候使用this就不一樣了。
1. 方法中的this。
在物件方法中, this 指向呼叫它所在方法的物件。例如:
var information =
};
在這裡,this 表示 information 物件。all 方法所屬的物件就是 information。
2. 函式中呼叫this.
在函式中,函式的所屬者預設繫結到 this 上。例如:
function information()
js事件中呼叫this.
this 指向了接收事件的 html 元素。例如:
顯示var x = 1
var obj =
function getsum(y, z)
2. bind方法呼叫this.
bind 方法會建立乙個新函式,新函式的 this 會永久的指向 bind 傳入的第乙個引數。例如:
var x = 1
var obj_1 =
var obj_2 =
function getx()
var a = getx.bind(obj_1)
var b = a.bind(obj_2)
getx() // 1
a() // 2
b() // 2
a.call(obj_2) // 2
this指向問題
一 this的指向在函式定義的時候是確定不了的,只有函式執行的時候才能確定this到底指向誰,實際上this的最終指向的是那個呼叫它的物件 例項一 函式this指向 function a a undefined windowwindow.a undefined window 解釋 這裡的a函式指向的...
this指向問題
在普通的函式中this指向window 在定時器中指向window,其實普通的函式和定時器都是window下的方法,所以都指向window 在乙個物件中的方法中this批向當前物件 new了 綁事件是事件源 真正觸發的 function fn a,b var aa fn.call 普通模式下this...
this指向問題
但是有時候這樣的判斷並不準確,可以按照如下規則進行判斷。瀏覽器環境 無論是否在嚴格模式下,在全域性執行環境中 在任何函式體外部 this 都指向全域性物件window node 環境 無論是否在嚴格模式下,在全域性執行環境中 在任何函式體外部 this 都是空物件 如果是new繫結並且 建構函式返回...