javascript—闭包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript—闭包相关的知识,希望对你有一定的参考价值。

javascript 闭包就是在另一个作用域中保存了一份它从上一级函数或作用域取得的变量(键值对0),

而这些键值对是不会随上一级函数的执行完成而销毁。

function a(){

var i=0;

function b(){

alert(++i);

}

return b;

}

var c=a();

c();

在执行完var c=a()后,变量c实际上是指向了函数b,b中用到了变量i,

再执行c()后就会弹出一个窗口显示i的值(第一次为1)。这段代码其实就创建了一个闭包。

为什么?因为函数a外的变量c应用了函数a内的函数b,

就是说:当函数a的内部函数b被函数a外的一个变量引用的时候,就创建了一个我们通常所谓的闭包


以上是关于javascript—闭包的主要内容,如果未能解决你的问题,请参考以下文章

Javascript闭包详解

javascript闭包

javascript闭包

Javascript中的闭包

javascript 闭包

JavaScript闭包