闭包

function f1(){  
   var n=999;  
    //闭包  
   nAdd=function(){n+=1}  
    //闭包  
   function f2(){  
     alert(n);  
   }  
   return f2;  
 }  
 var result=f1();  
 result(); // 999,函数f1外部访问f1内部的局部变量  

 nAdd();  
 result(); // 1000

例子:

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
Copyright © qgao 2021-* all right reserved,powered by Gitbook该文件修订时间: 2022-06-06 16:56:43

results matching ""

    No results matching ""