在JavaScript中,它也会被称为闭包吗?

时间:2017-03-02 12:31:01

标签: javascript

考虑以下代码

() => {
    let amount = 0;

    return {
        inc_amount: () => amount + 100,
        dec_amount: () => amount - 100
    }
}

amount视为闭包,前提是它在Object literal中使用,而不是在函数中。在这两种情况下,代码似乎都运行良好,因此问题就在于此。

2 个答案:

答案 0 :(得分:2)

实际上 在(箭头)函数中使用,它恰好被分配给对象的属性。是的,这是一个关闭。

答案 1 :(得分:1)

术语“关闭”'指的是功能加上它所环绕的环境 - 而不是说amount是一个封闭,说它被捕获的更正确“#0}。 通过关闭。