猿问

关于函数闭包的问题

以下是我在某个帖子上看到的,没看明白

思考1中的输出结果为什么不是“My Object”,这个不是离那个匿名函数最近嘛,为什么没访问它呢

思考2中的this指向object ,所以将他赋值给that后也指向object;可以这么理解么;

思考1:var name = "The Window";

  var object = {
    name : "My Object",

    getNameFunc : function(){
      return function(){
        return this.name;
      };

    }

  };

  alert(object.getNameFunc()());

思考2:

var name = "The Window";

  var object = {
    name : "My Object",

    getNameFunc : function(){
      var that = this;
      return function(){
        return that.name;
      };

    }

  };

  alert(object.getNameFunc()());


二露
浏览 1163回答 0
0回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答