《Javascript高级程序设计》这本书里提到,每个函数在被调用时都会自动取得两个特殊变量时,只会搜索到其活动对象为止,因此永远不可能直接访问外部函数中的这两个变量。所以是不是可以理解为会一直访问到全局变量才会停止呢(没有绑定的话)?以下是代码:var name = "The Window";var object = { name : "My Object", getNameFunc : function(){ return function(){ return this.name; }; }};alert(object.getNameFunc()()); //"The Window"
4 回答
红颜莎娜
TA贡献1842条经验 获得超12个赞
函数里的this只有被运行时才会被绑定,而这个函数执行的时候是普通方式,所以里面的this永远被标记为全局对象,反正一个函数或者方法被执行的时候最多就四种,有本书叫你不知道的JS这里面将this我觉得讲的还挺不错的,你可以直接翻到那边看看。
其实js的this有一定迷惑性,但其实都逃脱不了那四种情况,安情况对应就好,不然很容易被绕晕
添加回答
举报
0/150
提交
取消