js 闭包

2019-07-01 15:08:39 浏览数 (1)

看js闭包,有人出了这个问题, http://www.jb51.net/article/24101.htm 在这看到的,有兴趣的可以瞅瞅。

var name = "The Window";

  var object = {

    name : "My Object",

    getNameFunc : function(){

      return function(){

        return this.name;

     };

    }

};

object.getNameFunc()();

这个结果是The Window,没怎么看明白

var name = "The Window";   var object = {     name : "My Object",     getNameFunc : function(){       return this.name;     } }; object.getNameFunc()

这个打印出来是My Object

后来看了一下this的解释,匿名函数的执行对象都是window,而在第二个例子中getNameFunc的对象是object

所以打印出来的值不一样

感觉有点忽悠,因为例子这个跟闭包好像没什么关系。把this去了算是一个闭包例子。不知道我理解的对不对?

0 人点赞