无法在javascript中访问数组

时间:2014-03-30 20:36:46

标签: javascript html html5

我使用以下代码:

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)不能?

1 个答案:

答案 0 :(得分:1)

当您在“C”中调用“更新”时,您可以在不确保this具有正确值的情况下执行此操作。尝试

update.call(this, 0);

代替。这将确保在“update”函数中this的值与“C”中的值相同。

当您调用没有任何上下文对象的函数时,函数中this的值将是全局上下文或(在“严格”模式下)undefined