我想让我的头绕着protoypal继承,并且有一个关于共享成员变量的问题。如何使用protoypal继承在JavaScript中初始化成员变量
我有一个对象:
var objA = {
list: [],
myPush: function(aParam){
this.list.push(aParam);
}
}
,并尝试 “protoypal继承” 它与对象()函数http://javascript.crockford.com/prototypal.html
var objB = object(objA);
,但不知何故更改objA被转移到objB:
objA.myPush('a string');
equals(objA.list.length, 1);
equals(objB.list.length, 0); //<= Fails. Why?
未通过测试的完整代码:http://jsbin.com/izawi/edit
有人可以向我解释这一点吗?并可能修复。我可以有一个constuct()函数,但这看起来不正确。提前
马蒂亚斯
感谢您的指针。有趣的是,你和其他指针使用针对Crockfords推荐的解决方案。新手难以决定。 – luebken 2010-02-01 14:07:46