2011-11-28 110 views
1

我一直在我的项目中使用John Resig的简单继承机制。 http://ejohn.org/blog/simple-javascript-inheritance/使用John Resig扩展数组扩展

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

我知道有其他的方式来扩展数组,但是我一直在我的代码中使用这个扩展方法,所以我希望它是一致的。

,我想这样的事情,这是非常尴尬的,但:

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

编辑:其中一个主要问题是,当你通过索引添加的东西“长度”属性不正确更新。即

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

回答

0

不是实际的代码,但是,这种事情可能会有所帮助:

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

希望它可以帮助你向前迈进