我有以下代码:
function A(){
this.init.apply( this, arguments );
}
A.prototype = {
name: "",
init: function( nameOfSomething ){
this.name = nameOfSomething;
}
};
通过这种方式,我可以使用:
var something = new A();
我想在“A”类中添加另一个类。像B。
我想用:
something.B = new B();
something.B.name = "testing";
B有我想要的任何属性和方法!
有人?
答案 0 :(得分:1)
如果你想“扩展”一个“类”A的对象(并且javascript没有类,如果你的行为就会被烧掉),请[未经测试]:
function B () {}
B.prototype = new A();
B.prototype.init("bla");
var b = new B();
b.name; /* should return "bla" */
但我相当确定这实际上并不是你想要/期望的。请参阅http://joost.zeekat.nl/constructors-considered-mildly-confusing.html我试图解释一般机制及其陷阱。