javascript的this指向的是一個函數運行時動態綁定對象。 this的4種常見的指向: 作為對象的方法調用 函數被作為一個對象調用,所以this的指向了obj對象。 作為普通函數調用 在普通函數中,this指向的全局對象,也就是window對象。 在這個函數中,因為函數作用域的關係。當我們打 ...
javascript的this指向的是一個函數運行時動態綁定對象。
this的4種常見的指向:
作為對象的方法調用
var obj={ name:"姚小白", getName:function(){ console.log(this === obj); console.log(this.name) } } obj.getName(); //true //姚小白
函數被作為一個對象調用,所以this的指向了obj對象。
作為普通函數調用
在普通函數中,this指向的全局對象,也就是window對象。
var name = "姚小白"; var getName = function(){ return this.name; } console.log(getName()) //姚小白
var name = "姚小白"; var obj = { name:"July", getName:function(){ return this.name; } } console.log(obj.getName()) //July var name1 = obj.getName; console.log(name1()) //姚小白 console.log(obj.name) //July console.log(this.name) //姚小白
在這個函數中,因為函數作用域的關係。當我們列印obj.getName();的時候,function(){return this.name;} //July
而在外層時候調用的則是 //姚小白