无法使JavaScript Array以OOP样式工作

时间:2010-09-14 19:23:40

标签: javascript arrays oop

您好我正在尝试使用以下代码片段来运行:

function Entry() {
    var pauses = new Array();
}

Entry.prototype = {
   AddElement: function(aParameter) {
      this.pauses.push(aParameter);
   }
}

不幸的是,如果我尝试调用AddElement(“Test”),这段代码会在Safari中失败并出现以下错误;

TypeError:表达式'this.pauses'[undefined]的结果不是对象。有人知道为什么吗?

2 个答案:

答案 0 :(得分:1)

在您的代码中,pausesEntry()函数中的局部变量,而不是由它构造的对象的成员。

您想将var pauses = ...替换为this.pauses = ...

答案 1 :(得分:1)

更改

var pauses = new Array();

this.pauses = new Array();

或更好

this.pauses = [];