使用John Resig Extend扩展阵列

时间:2011-11-28 05:54:58

标签: javascript

我在我的项目中一直使用John Resig的简单继承方案。 http://ejohn.org/blog/simple-javascript-inheritance/

基本上,我有一个对象,我想用作数组,但有一些属性。

我知道还有其他扩展Array的方法,但是我在整个代码中一直使用这种扩展方法,所以我希望它是一致的。

我想要这样的东西,但它很尴尬:

var Array2 = Class.extend(Array);
var Foo = Array2.extend(
{
  init : function() {
  }
});

编辑:主要问题之一是当您通过索引添加内容时,'length'属性未正确更新。我是

var x = new Foo(); 
x[0] = "test";
alert(x.length) //0

1 个答案:

答案 0 :(得分:0)

不是真正的代码,但是,这种东西可能会有所帮助:

var Array2 = Class.extend(Array);
var Foo = Array2.extend(
{
  init : function() {
    return Array.prototype.push.apply(this,arguments);
  }
});

希望它能帮助你前进