闭包(closure)
在javascript中,闭包指定义在一个函数内的函数,该函数可以使用其所在函数中定义的变量,如下例子:
function add(x) { console.log(x); return function(y) { return x + y; };//该匿名函数既是闭包 } var result = add(4)(2); console.log(result);
运行结果:
![]()
add接受一个参数x (x=4),返回一个函数,它的参数是y,该函数返回x+y (4+2=6)
闭包----匿名函数
将上述代码转化成匿名函数的格式:
var result =(function (x) { console.log(x) return function(y) { return x + y; };//该匿名函数既是闭包 })(4)(2); console.log(result);
(function (x) { console.log(x) return function(y) { console.log(x+y); };//该匿名函数既是闭包 })(4)(2);
运行结果一样。