我正在阅读 kangax 关于如何 ECMAScript 5 仍然不允许子类化数组的博客。在这里,他使用了与正常原型构造不同的子类化方法
BaseClass.prototype = new Superclass();
他正在做的是:
function clone(obj) {
function F() { }
F.prototype = obj;
return new F();
}
然后像这样设置继承:
function Child() { }
Child.prototype = clone(Parent.prototype);
有人能解释一下这种两部分继承的方法,以及它比上面简单的单线方法有什么好处吗?
编辑:我从评论中了解到,现在有一个标准Object.create()
基本上解决了与方法相同的目的,clone()
但是这种实现如何clone()
工作?