猿问

《Javascript高级程序设计》这本书中关于this对象的一段话如何理解?

《Javascript高级程序设计》这本书里提到,每个函数在被调用时都会自动取得两个特殊变量时,只会搜索到其活动对象为止,因此永远不可能直接访问外部函数中的这两个变量。


所以是不是可以理解为会一直访问到全局变量才会停止呢(没有绑定的话)?以下是代码:


var name = "The Window";

var object = {

  name : "My Object",

  getNameFunc : function(){

    return function(){

      return this.name;

    };

  }

};

alert(object.getNameFunc()()); //"The Window"


qq_遁去的一_1
浏览 379回答 4
4回答

红颜莎娜

函数里的this只有被运行时才会被绑定,而这个函数执行的时候是普通方式,所以里面的this永远被标记为全局对象,反正一个函数或者方法被执行的时候最多就四种,有本书叫你不知道的JS这里面将this我觉得讲的还挺不错的,你可以直接翻到那边看看。其实js的this有一定迷惑性,但其实都逃脱不了那四种情况,安情况对应就好,不然很容易被绕晕
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答