我使用以下代码:
function Cal() {
this.currectnum =[5];
this.bool_num = false;
this.C=C;
this.alltimetext = new toString;
this.addnum = addnum;
this.equel = equel;
function C() {
update(0);
this.bool_num= true;
this.alltimetext="0";
console.log(this.currectnum);
}
function update(value) {
cur = document.getElementById("screen_p");
cur.innerHTML = value;
console.log(this.currectnum);
}
我不明白为什么当我按下C时我的日志是:
undefined
[5]
为什么C()
可以“看到”数组,但update(value)
不能?
答案 0 :(得分:1)
当您在“C”中调用“更新”时,您可以在不确保this
具有正确值的情况下执行此操作。尝试
update.call(this, 0);
代替。这将确保在“update”函数中this
的值与“C”中的值相同。
当您调用没有任何上下文对象的函数时,函数中this
的值将是全局上下文或(在“严格”模式下)undefined
。