JS 闭包
<!--闭包:一个函数可以访问另外一个函数作用域中的变量 封闭性:保护变量 -->
//作用域链
var name="A";
var obj={
name:"B",
getName:function(){
return function(){
return this.name;
}
}
}
var k=obj.getName();//是一个函数
console.info(k());//结果是A
//如何访问B
var name1="A";
var obj={
name1:"B",
getName:function(){
//this 总是指向调用者
var o=this;
return function(){
return o.name1;
}
}
}
var k=obj.getName();//是一个函数
console.info(k());//结果是A
<!-- ———————————————————闭包案例—————————————— -->
function f(x){
var temp=x; //temp已经 没有被使用
return function (x){ //有了一个执行域 temp又被引用
temp+=x;
alert(temp);
}
}
var a=f(10);
a(5);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。