我想更好地理解用函数创建的对象内部的值的机制.
let createCounter = function(init) {
let ans = init
return {
increment(){return ++ans},
decrement(){return --ans},
reset(){return ans = init},
ans,
}
};
myob1=createCounter(3)
myob2=createCounter(10)
console.log(myob1.increment()) // 4
console.log(myob2.increment()) // 11
console.log(myob1.ans) // 3
console.log(myob2.ans) // 10
在创建对象后,‘ans’属性的值是否保持不变? 我能在这个语法中直接得到它的当前值吗?
据我所知,字母的值是在创建后与每个对象绑定在一起的,当我试图使用对象属性获取它的值时,它只是呼吁‘ans=init’并显示起始值? 顺便说一句,我正在学习JS,请不要生我的气:з