哪个更好的Javascript对象模式[关闭]

2024-01-04

哪个是更好的 Javascript 对象模式......

function dog(name) {
  this.name = name;
  this.getName = function() {
    return this.name;
  };
};

OR

function cat(name) {
  this.name = name;
};
cat.prototype.getName = function() {
  return this.name;
};

AND WHY?

----- 编辑

其中一个使用更多内存吗?

其中一个的“CPU”密集程度比另一个高还是低?

哪个更易于维护?

哪个更具可扩展性?

哪个更具可读性?


撇开偏好不谈,第二个例子是“正确的”例子。在第一个中,您正在创建一个新的getName每个对象的函数。 2、所有用这个构造函数创建的对象都会共享prototype/getName。在一个地方更改它,它会针对每个实例而更改。

在特殊场合(例如复杂的继承链),您可能需要使用第一个,但请注意它的缺点。

这篇博文 http://yehudakatz.com/2011/08/12/understanding-prototypes-in-javascript/可能会帮助您更好地理解原型继承。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

哪个更好的Javascript对象模式[关闭] 的相关文章

随机推荐

  • Python:如何创建函数?例如f(x) = ax^2

    我想要对函数进行某种引用 但我不知道是否需要使用def f x or a lambda某种 例如我想print f 3 并让它输出9a 或者这不是 python 的工作原理 第二个问题 假设我有一个工作函数 我如何返回degree of i
  • Excel VBA 在 Windows 10 中回答 Internet Explorer 11 下载提示?

    我正在尝试自动下载 csv 文件http www nasdaqomxnordic com http www nasdaqomxnordic com使用 Excel 2010 VBA 和 Internet Explorer 如何使用 保存 自
  • 如何消除 iPad 应用程序主窗口上的圆角?

    我见过一些 iPad 应用程序填满屏幕 例如 Stanza 或在状态栏下方形成方形角 例如 iPod 播放器顶部有方形角 底部看不出来 有人知道这是怎么做到的吗 默认情况下 顶层 UIWindow 似乎应用了一个剪切区域 因为我放置在该窗口
  • 显示网络浏览器设置

    使用不同的网络浏览器及其版本号字符串以及无数的配置列表确实很痛苦 我想知道是否有人想出了一个网页 可以将浏览器设置转储到浏览器 以便可以保存并转发给开发人员 Thanks 像这样的东西吗 http mybrowserinfo com det
  • 预期是二维数组,却得到一维数组,而是错误

    我得到的错误为 ValueError 需要 2D 数组 却得到 1D 数组 array 45000 50000 60000 80000 110000 150000 200000 300000 500000 1000000 如果数据具有单个特
  • 委托、Lambda 和 LINQ,天哪!

    作为一名相当初级的开发人员 我遇到了一个突出我经验不足和知识漏洞的问题 如果这里的序言太长 请原谅 我发现自己参与的一个项目需要学习许多 对我而言 新技术 其中包括 LINQ 用于该项目的 OBJECTS 和 XML 等 到目前为止我读到的
  • 如何获取使用“文本数字”的字体的升序或降序高度

    我对文本数字有疑问 参见维基百科 http en wikipedia org wiki Text figures 在使用以下命令创建的 PDF 文档中itextsharp 基线和数字最低点之间的距离 例如9 与字体的正常下降高度不同 使用下
  • 验证多态关联模型中的范围唯一性

    是的 所以我有一个多态关联 允许收藏不同的对象类型 所以一个人可以喜欢一个产品 一个人 或者其他什么 我想要做的是防止有人使用验证收藏夹模型中的唯一性来复制收藏夹 class Favorite lt ActiveRecord Base be
  • XMLHttpRequest 与 HttpRequest

    有谁知道 什么是XMLHttpRequest使网页能够执行普通网页无法完成的操作HttpRequest XMLHttpRequest http en wikipedia org wiki XMLHttpRequest是一个标准的 javas
  • 如何使用 Pandas 的时间戳按小时对数据帧进行分组

    我有以下使用时间戳索引的数据帧结构 neg neu norm pol pos date time 1520353341 0 000 1 000 0 0000 0 000000 0 000 1520353342 0 121 0 879 0 2
  • 使用 iText 在横向模式下绘制线条

    这是我用来画线的代码 double lineArray annotation getAsArray PdfName L asDoubleArray double x1 lineArray 0 rect getAsNumber 0 doubl
  • 对某一部分贪婪的正则表达式,对其他部分不贪婪的正则表达式

    我在 R 中使用正则表达式 但我希望它对左侧部分贪婪 对右侧部分非贪婪 假设我想提取单词 left 和 right 之间的文本 但我希望它是贪婪的 并继续在文本中查找单词 left 直到找到最后一次出现 但是 我也希望它不贪婪于 正确 并在
  • 将 SpatialPolygonsDataFrame 导出为 R 中的 geojson 或 topojson

    我正在尝试将伦敦地方当局的 geojson 转换为六角形图表 其中每个六边形代表一个地方当局 它在 R 中工作 但是当我尝试将生成的十六进制网格导出为 geojson 或 topojson 时 出现以下错误 Error in sp Spat
  • 实体框架 4.1 检索自引用数据

    我首先使用 Entity Framework 4 1 代码和 ASP NET MVC 3 并且我正在努力正确设置自引用 我有一个类别类 它必须是自我引用的 当表中ParentCategoryId为空时 类别可以是父类别 如果某个类别具有带值
  • 直接从 Outlook 拖放到 Web 表单

    我在网上搜索了一下 大部分答案都是无法完成 我的情况有点不同 因为我们正在开发的应用程序仅用于内部目的 并且可以允许浏览器中的任何安全级别 它也是基于内部网的 我还尝试查看是否有现成的 ActiveX 控件 但无法找到一个允许直接从 Out
  • Sympy - 改变绘图的 y 轴范围

    使用 Sympy 如何设置 y 轴的范围 plot x 2 2 我想让 y 轴从 0 到 7 当你绘图时 你可以使用 kwargsxlim and ylim设置轴限制 例如 gt gt gt plot x 2 2 xlim 3 3 ylim
  • 使用 Delphi 在运行时创建 TWebBrowser

    我有一个 TWebBrowser 对象 它在运行时创建并在后台使用 即不可见 问题是像 OnDocumentComplete 这样的事件在 Delphi2009 中不起作用或不会被触发 有什么建议吗 procedure TfrmMain F
  • 将文件写入通用应用程序数据文件夹被拒绝

    我使用以下函数将数据写入用户应用程序文件夹 private void WriteToLog string source string method string msg string LogFile Environment GetFolde
  • 对一系列门票进行排序[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 这是问题陈述 您有一叠包含出发地和目的地的车票 您将获得出发城市和目的地城市 你如何从堆栈中找到你的路线 这是我的解决方
  • 哪个更好的Javascript对象模式[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi