在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 老生常談,閉包和this問(wèn)題

老生常談,閉包和this問(wèn)題

  var name = "The Window";

  var object = {
    name : "My Object",

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

    }

  };

  alert(object.getNameFunc()());

如上,為什么打印The Window,和閉包聯(lián)合一起講下

回答
編輯回答
冷咖啡

this指向作用域不一樣

object.getNameFunc()()
= object.getNameFunc().apply(this,[]);

object.getNameFunc()
= object.getNameFunc.apply(object, []);

試試這個(gè):
var name = "The Window";

  var object = {
    name : "My Object",

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

    }

  };

  console.log(object.getNameFunc()());

2017年2月15日 10:27
編輯回答
枕頭人

分解一下

var name = "The Window";

var object = {
    name: "My Object",

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

    }

};

var func = object.getNameFunc()

alert(func());

func的this是window

2018年5月31日 23:27