标签: javascript
此语法之间是否有区别
function Foo() {} Foo.prototype.method1 = function() {}; Foo.prototype.method2 = function() {};
和这一个?
function Foo() {} Foo.prototype = { method1: function() {}, method2: function() {} }
是否应该优先考虑另一个?
答案 0 :(得分:2)
这两个选项之间存在细微差别。我建议使用前者来保留指向用于创建对象的实际构造函数的constructor属性。在下面的示例中,您将看到两个选项的区别:
constructor
prototype.newMethod
prototype = {...}
如果您想使用Bar语法,您始终可以将constructor属性设置为正确的函数。
我希望这会有所帮助,如果您有任何疑问请与我联系。