/*
this是什麼?
如何確定this的值?
*/function
person
(color)
this
.setcolor
=function
(value)
}person
('red');
// this是誰?,這裡是執行person方法,只會執行1,this列印window
var p =
newperson
('yelloe');
//this是誰?這裡生成乙個物件例項,指揮執行1,this列印當前物件例項
p.getcolor()
;//this是誰?這裡執行2,this列印物件p
var obj =
;p.setcolor.
call
(obj,
'black');
//this是誰?這裡執行3,this列印obj
var test = p.setcolor;
test()
;//this是誰?這裡執行3,this列印window
function
fun1()
fun2()
}fun1()
;//this列印window
var obj =
;function
foo(data)
// 傳入的引數形式
foo.
bind
(obj,33,
44,55)
();
函式中的this指向
普通函式的this this就是誰呼叫 this就指向誰 this是在呼叫的時候確定的 function f1 f1 window物件裡面的方法,它裡面的this指向當前這個物件 var obj var fn obj.print var fn obj.print undefuned fn this ...
箭頭函式中this的指向
箭頭函式中this的指向 在箭頭函式中沒有this,箭頭函式中的this是它捕獲過來的,注意 1.箭頭函式中的this一旦捕獲將無法在改變 2.箭頭函式是在它被宣告時開始捕獲的 3.什麼是宣告時呢?就是箭頭函式被呼叫時 4.捕獲的是離它最近的父級的this的指向 舉個栗子 var a 測試 let ...
箭頭函式中的this指向
let a a.bar undefinedbar函式中的this指向父作用域,而a物件沒有作用域,因此this不是a,列印結果為undefined function a a.prototype.bar console.log this.foo let a new a a.bar undefined原...