我有一个count方法,它将一堆1打印到控制台,而不是向num属性添加1,例如,如果我将1加入到参数中,我将获得100个而不是1到100。
let obj={
num:0,
count: function(max){
for(let i=0; i<max; i++){
let num=this.num;
num++
console.log(num);
}
}
}
obj.count(100);
答案 0 :(得分:2)
它无法正常工作,因为您正在更改局部变量num
的值而不是实例变量this.num
,因此for
循环{{1}的每次迭代都是如此}等于this.num
。由于数字是值类型,因此不会通过引用传递。可以实现一个简单的修复:
0