js闭包

//js闭包
function  test3(){
  n=999;
  nAdd=function(){n+=1}
  function test4(){
   alert(n);  
  }
  return test4
}
var result=test3();
result();
nAdd();
result();




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(){
   return function(){
    return this.name;
   };
  }
 
};
alert(object.getNameFunc()());




var object=new Object();
object.name='My Object';
object.getNameFunc=function(){
    return this.name;
  };
var x=object.getNameFunc();
alert(x);



function MyObject(name){
   this.name=name;
   this.getNameFunc=function(){
    return this.name;
  };
}

var myObject=new MyObject("My Object");
alert(myObject.getNameFunc());   // 弹出MyObject
var myObject2=new MyObject("XYZ");
alert(myObject2.getNameFunc());   // 弹出XYZ


自己学习js闭包的一些理解




你可能感兴趣的:(js闭包)