Javascript 的函数调用
function close(){
var myline=100;
return(function(){
return(myline++);
});
}
console.log(close()); //console output:// funciton()
console.log(close()()); //console output:// 100
console.log(close()()); //console output:// 100
function close2(){
var myline=150;
return(function(){
return(myline++);
}());
}
console.log(close2()); //console output:// 150
console.log(close2()); //console output:// 150
function closure(){
var myline=200;
return(myline++);
}
console.log(closure()); //console output:// 200
console.log(closure()); //console output:// 200
//closure example
var copyclose=(function(){
var myline=300;
return(function(){
return myline++;
});
}());
console.log(copyclose()); //console output:// 300
console.log(copyclose()); //console output:// 301
console.log(copyclose); //console output:// function()
比较奇怪,没明白为什么,特别是第一个函数 和 最后一个函数写法的区别
感谢百度知道网友给出解答:
http://zhidao.baidu.com/question/918961299202303779.html?quesup2&oldq=1
function close(){
var myline=100;
return(function(){
return(myline++);
});
}
console.log(close()); //console output:// funciton()
console.log(close()()); //console output:// 100
console.log(close()()); //console output:// 100
function close2(){
var myline=150;
return(function(){
return(myline++);
}());
}
console.log(close2()); //console output:// 150
console.log(close2()); //console output:// 150
function closure(){
var myline=200;
return(myline++);
}
console.log(closure()); //console output:// 200
console.log(closure()); //console output:// 200
//closure example
var copyclose=(function(){
var myline=300;
return(function(){
return myline++;
});
}());
console.log(copyclose()); //console output:// 300
console.log(copyclose()); //console output:// 301
console.log(copyclose); //console output:// function()
比较奇怪,没明白为什么,特别是第一个函数 和 最后一个函数写法的区别
感谢百度知道网友给出解答:
http://zhidao.baidu.com/question/918961299202303779.html?quesup2&oldq=1
本文通过几个具体的示例详细解析了JavaScript中闭包的概念及其工作原理。闭包允许一个函数访问并操作其外部作用域中的变量,即使该函数在其外部作用域之外被调用也能记住这些变量的状态。

被折叠的 条评论
为什么被折叠?



