js通过闭包创建简单计数器,计数器函数为Comput,计数变量a初始化值为10,闭包函数为匿名函数,每执行一次实现计数变量加1,使用count保存Comput函数返回的匿名闭包函数,分别输出3次count、count()、Comput()、Comput()()的值。
时间: 2024-10-20 10:16:41 浏览: 27
javascript笔记之匿名函数和闭包
在JavaScript中,你可以利用闭包的概念创建一个简单的计数器。首先,我们可以定义一个外部变量`a`作为初始值(这里设为10),然后定义一个名为`Comput`的计数函数,这个函数会增加`a`的值并返回当前的值。由于`Comput`函数可以访问到其外部作用域的`a`变量,这就形成了一个闭包。
下面是一个具体的实现:
```javascript
var a = 10;
function Comput() {
return function() {
a++;
return a;
};
}
// 创建并保存闭包函数
var count = Comput();
// 输出结果示例(这里只演示了部分情况,实际运行会依次递增)
console.log(count); // 输出的是保存的匿名函数引用,不是值
console.log(count()); // 第一次调用,输出11
console.log(Comput()); // 返回内部的计算函数,而不是立即执行
console.log(Comput()()); // 第二次调用内部函数,输出12
// 如果再次调用count(), 它还会继续递增
console.log(count()); // 输出13
```
阅读全文