- 闭包
闭包是由函数以及创建的函数的词法环境组合而成,这个环境包含了闭包创建时所能访问的所有的局部变量。
实例:
/**
* 闭包的实例
* @param x
* @returns {function(*): *}
*/
function makeAdder(x) {
return function (y) {
return x + y;
}
}
var add5 = makeAdder(5);
var add10 = makeAdder(10);
console.log(add5(2));
console.log(add10(2));
/**
* 使用闭包定义私有的属性和方法
* @type {
{decrement, increment, value}}
*/
var Counter = (function () {
var privateCounter = 0;
function changeBy(val) {
privateCounter += val;
}
return{
increment: function (