对闭包的直观感受是函数里面套函数。
闭包定义一个函数,该函数的返回值可以是又一个函数,而在闭包里面定义的函数可以使用该函数以外的闭包以内的变量。
类似于多变量函数?
‘use strict’;
function make_pow(n) {
return function (x) {
return Math.pow(x, n);
}
}
// 创建两个新函数:
var pow2 = make_pow(2);
var pow3 = make_pow(3);
console.log(pow2(5)); // 25
console.log(pow3(7)); // 343