我见过有人在想扩展另一个类时写这个:
Test2.prototype = Object.create( Test1.prototype );
但我也这样做了:
Test2.prototype = Test1.prototype;
并且有效(至少在以下示例中):
var Teste1 = function()
{
this.value = 'Teste1';
}
Teste1.prototype = {
value:'no-class',
print:function()
{
console.log( this.value );
}
}
var Teste2 = function()
{
Teste1.apply( this );
}
Teste2.prototype = Teste1.prototype;
var t = new Teste2();
t.print();
控制台打印Teste1
,这意味着调用了 Teste1 构造函数。真正的问题是:
为什么Object.create
在 javascript 中扩展类时需要使用?将来我会在项目中遇到这种代码想法的问题吗?
谢谢。