Nao*_*aor 2 javascript jquery backbone.js
我在StackOverflow中看到了这个:https://stackoverflow.com/a/7786090/289246
答案告诉我们:
DynamicBody.prototype = Object.create( PhysicsBody.prototype );
Run Code Online (Sandbox Code Playgroud)
使用Object.create的原因是什么?
为什么我们不能使用:
DynamicBody.prototype = PhysicsBody.prototype;
Run Code Online (Sandbox Code Playgroud)
?
Fel*_*ing 10
您可以(技术上),但随后您所做的任何更改DynamicBody.prototype也将被启用PhysicsBody.prototype,即它将影响所有PhysicsBody实例,这通常不是您想要的.
例:
function Foo() {};
Foo.prototype.say = function() {
alert('Foo');
};
var foo = new Foo();
function Bar() {};
Bar.prototype = Foo.prototype;
Bar.prototype.say = function() {
alert('Bar');
};
foo.say(); // alerts 'Bar'
Run Code Online (Sandbox Code Playgroud)
Object.create 增加一个间接层.