闭包特性的探索

2022-04-10  本文已影响0人  苍老师的眼泪

闭包体现了JavaScript的一个特性,函数体可以访问定义该函数的作用域的变量,但是定义该函数的作用域不能访问函数体里面的变量,
也就是说函数可以访问外面的变量,但是外面不能访问函数里面的变量。

function f() {
    let age = 24

    return function increase_age() {
        age++

        return age
    }
}

var f1 = f()
var f2 = f()

console.log(f1())   // 25
console.log(f1())   // 26
console.log(f1())   // 27

console.log(f2())   // 25

每次调用f都返回一个函数对象,每个这样的函数对象维护独立的闭包变量实例,对这些闭包变量的操作是互补干扰的。

上一篇 下一篇

猜你喜欢

热点阅读