代码之家  ›  专栏  ›  技术社区  ›  yan.kun

无法使JavaScript数组以OOP样式工作

  •  1
  • yan.kun  · 技术社区  · 16 年前

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

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

    2 回复  |  直到 16 年前
        1
  •  1
  •   Brian Campbell Dennis Williamson    16 年前

    在你的代码里, pauses Entry() 函数,而不是由它构造的对象上的成员。

    你想替换吗 var pauses = ... 具有 this.pauses = ...

        2
  •  1
  •   Kenan Banks    16 年前

    var pauses = new Array();
    

    到

    this.pauses = new Array();
    

    或者,更好

    this.pauses = [];