gpt4 book ai didi

javascript - 在 JavaScript 中使用 setter 重置变量

转载 作者:行者123 更新时间:2023-11-28 16:09:35 24 4
gpt4 key购买 nike

我非常熟悉 JavaScript 中的 getter 和 setter,但我对当前的行为有点困惑。这是我的代码:

function u0(n) {

return {

get count() { return ++n; },
set count(m) { m = n; }

}

}

v0 = u0(10); //start with 10
console.log(v0.count); //11: increase by 1
console.log(v0.count); //12: increase by 1
console.log(v0.count); //13: increase by 1
console.log(v0.count = 0); //set back to 0
console.log(v0.count); //14?

当我调用 count 方法并设置它时,它确实将计数重置为零,但是当我再次调用我的 count 方法而不设置它时,它会选择就在它停止的地方。我的印象是,当我设置 count 方法时,它会将 n 设置为 0

当我设置 count 时,为什么 count 会从上次中断的地方继续,而不是重置回 0

最佳答案

你正在倒退;)

function u0(n) {
return {
get count() { return ++n; },
set count(m) { n = m; } // Notice? ;)
};
}

关于javascript - 在 JavaScript 中使用 setter 重置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13478002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com