Maison > Questions et réponses > le corps du texte
PHP中文网2017-04-11 13:30:38
@eyesofkids 的答案已经很完善了,建议采纳。
===========================================
下面是老答案
===========================================
再来补充一种方式,通过 call 改变 this的方向,return function(){} 中还可以用 this。
var name = "aa";
var object = {
name : "bb",
getNameFunc : function(){
return (function(){
return this.name;
}).call(this);
}
};
alert(object.getNameFunc());
伊谢尔伦2017-04-11 13:30:38
this
是在运行时绑定的。
你这里调用对象的方法,最后返回一个函数,返回的函数是在全局作用域执行的,并且没有其他对象调用返回的函数,也没有使用new
,call
,apply
,bind
调用返回的函数。this
在非严格模式下就指向window/global
,在严格模式下就指向undefined
。