标签:style blog http io color ar os java sp
简单来说:JS闭包就是不需要传参,调用外部函数就叫做闭包。
var abc = function (y) {
var x = y;
return function () {
alert(x+++‘,‘+y--);
}
}(5);
abc(); //5,5
abc(); //6.4
abc(); //7,3
abc(x); //报错,x未定义
var foo = function (x) {
var temp = 10;
function bar(y) {
alert((temp--) + x + y);
}
bar(10);
}
foo(5); //25
foo(5); //25
foo(5); //25
function foo(x) {
var temp = 10;
return function (y) {
alert((temp--) + x + y);
}
}
var bar = foo(2); //bar现在是闭包了
bar(10); //22
bar(10); //21
bar(10); //20
bar
的内存中,不会被垃圾回收器回收,如下:alert((function(x,y){return x+y;})(2,3));// "5"
alert((new Function("x","y","return x*y;"))(2,3));// "6"
标签:style blog http io color ar os java sp
原文地址:http://www.cnblogs.com/yangda/p/4070785.html