function createCounter() {
let count = 0;
return function increment() {
return ++count;
};
}
// 解释:
// 1. `createCounter`函数内部定义了变量`count`,初始值为0。
// 2. 当`createCounter`被调用时,返回一个内部函数`increment`。
// 3. `increment`函数可以访问并修改`createCounter`函数作用域中的`count`变量,这是闭包的特性。
// 4. 每次调用`increment`函数,`count`变量会自增1,并返回自增后的值,从而实现了自增数字的功能。
def createCounter():
count = 0
def increment():
nonlocal count
count += 1
return count
return increment
# 解释:
# 1. `createCounter`函数内部定义了变量`count`,初始值为0。
# 2. 当`createCounter`被调用时,返回一个内部函数`increment`。
# 3. 在Python中,由于`increment`函数要修改`createCounter`函数作用域中的`count`变量,需要使用`nonlocal`关键字声明。
# 4. 每次调用`increment`函数,`count`变量会自增1,并返回自增后的值,通过闭包特性实现了自增数字的功能。