+ -
当前位置:首页 → 问答吧 → 请高手解释JS代码

请高手解释JS代码

时间:2011-12-14

来源:互联网

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

作者: huhongicat   发布时间: 2011-12-14

JScript code

var name = "The Window";
  var object = {
    name : "My Object",
    getNameFunc : function(){
      var that = this;
      return function(){
        return that.name;
      };
    }
  };//定义了一个变量object,指向了一个对象,对象有一个name属性和一个getNameFunc属性
  alert(object.getNameFunc()()); //My Object
    var tmp=object.getNameFunc();//调用object的getNameFunc方法,该方法返回一个函数,函数体:
/*
        function(){
      var that = this;//this,谁调用this指向谁,这里this指向obejct
      return function(){
        return that.name;
      };
    }
        执行后得到tmp=funciont(){return object.name}
 */   
object.getNameFunc()();//执行用object的getNameFunc方法得到的函数,即tmp();

作者: likeajin   发布时间: 2011-12-14