javascript - 在 JavaScript 实例上编写单个原型(prototype)与使用多个原型(prototype)之间的区别?只是风格?

标签 javascript prototype

我很好奇这两种使用原型(prototype)编写 JavaScript 函数的方法之间的区别。在许多 JS 样式指南中,后者优于前者,但由于 DRY 原则,我发现后者有些多余。这只是风格问题吗?一个版本比另一个版本快吗?我是否遗漏了一些明显的东西?:

保持干燥?

var Klass = function() {}

Klass.prototype = {
   propertyA: 20,
   propertyB: "hey there",
   methodA: function() {},
   methodB: function() {},
}

风格指南中普遍推荐的:

var Klass = function() {}

Klass.prototype.propertyA = 20;
Klass.prototype.propertyB = "hey there";
Klass.prototype.methodA = function() {};
Klass.prototype.methodB = function() {};

任何澄清这一点的帮助将不胜感激!谢谢——

最佳答案

第一个示例将 prototype 完全替换为对象的内容;第二个设置单独的属性而不破坏现有数据。

您可以通过使用某些版本的 extend 将该对象合并到原型(prototype)中,使第一个示例像第二个示例一样工作。

关于javascript - 在 JavaScript 实例上编写单个原型(prototype)与使用多个原型(prototype)之间的区别?只是风格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16267034/

相关文章:

javascript - Ajax 调用 Spring MVC Controller 错误请求

javascript - 原型(prototype)继承。这个简单的例子有什么问题?

javascript - 使用 setInterval 调用原型(prototype)函数的问题

javascript - 我的网络应用程序在 Google Chrome 中非确定性崩溃

javascript - 在 IE8 上获取访问被拒绝错误

javascript - 在包装器+按钮导航中旋转子元素

javascript - 如何在闭包之外调用方法

php - PHP 中的原型(prototype)继承(类似于 JavaScript)

jquery - Node.js 上的 Javascript 框架

javascript - 为什么我们在react中使用BrowserRouter?