JavaScript继承:Object.create vs new
- 论坛
- JavaScript继承:Object.create vs new
19 浏览
JavaScript继承:Object.create vs new
在JavaScript中,这两个示例有何区别:
前提条件:
function SomeBaseClass(){ } SomeBaseClass.prototype = { doThis : function(){ }, doThat : function(){ } }
使用Object.create的继承示例A:
function MyClass(){ } MyClass.prototype = Object.create(SomeBaseClass.prototype);
使用关键字new的继承示例B:
function MyClass(){ } MyClass.prototype = new SomeBaseClass();
这两个示例似乎做的事情是一样的。什么时候会选择其中之一?
一个附加问题:
考虑下面链接中的代码(第15行),在原型中存储函数自己的构造函数的引用,这有什么用处?
https://github.com/mrdoob/three.js/blob/master/src/loaders/ImageLoader.js
摘录(如果您不想打开链接):
THREE.ImageLoader.prototype = { constructor: THREE.ImageLoader }