js闭包:
闭包是与作用域相关的概念, 闭包指的是内部函数即使在外部函数执行完成并终止以后,仍然可以访问其外部函数的属性。
当引用一个变量或方法时,JavaScript会沿着有对象执行的路径构成的作用域链对作用域进行解析查找变量最近的定义,一旦找到,即使用该值。
js闭包代码:
function outFun() { // 外部函数 var outVal = 1; // 外部函数变量outVal return function () { //内部函数 return outVal++; //调用外部函数局部变量outVal } } var funObj = outFun(); //创建一个函数实例对象 console.log(funObj()); //输出1 console.log(funObj()); //输出2 console.log(funObj()); //输出3