<分区>
这种语法有区别吗
function Foo() {}
Foo.prototype.method1 = function() {};
Foo.prototype.method2 = function() {};
还有这个?
function Foo() {}
Foo.prototype = {
method1: function() {},
method2: function() {}
}
应该优先选择一个吗?
标签 javascript
<分区>
这种语法有区别吗
function Foo() {}
Foo.prototype.method1 = function() {};
Foo.prototype.method2 = function() {};
还有这个?
function Foo() {}
Foo.prototype = {
method1: function() {},
method2: function() {}
}
应该优先选择一个吗?
最佳答案
这两个选项之间存在细微差别。我建议使用前者来保留指向用于创建对象的实际构造函数的 constructor
属性。在以下示例中,您将看到这两个选项的本质区别:
prototype.newMethod
语法。prototype = {...}
语法。如果您想使用 Bar 语法,您始终可以将 constructor
属性设置为正确的函数。
希望对您有所帮助,如果您有任何疑问,请告诉我。
关于javascript - JS - 定义原型(prototype)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47981755/
相关文章:
javascript - Cypress :找不到模块:错误:无法解析'cypress/types/lodash
javascript - WordPress 将 javascript 添加到 native WordPress 帖子/页面编辑器
javascript - 如何让 'button' 在 MouseDown 上创建一个可移动的 DIV,并将 'MouseDown' 切换到新的 DIV?
javascript - Node.js发送带base64解码字符的POST请求时,出现无效字符错误
javascript - 在 NodeJs 上导入 Box2d 时出错
javascript - 仅在禁用 JavaScript 时显示 "Enable JavaScript"消息
php - 使用 php curl 获取 outlook 通讯簿列表?
javascript - 如何将一个数组合并到另一个数组的对象值中