javascript - 实例化对象而不将它们存储在变量中

标签 javascript performance prototypal-inheritance

我从一位同事那里发现了一段逻辑,并希望在提交更改之前弄清楚后果。基本上,我有一个类:

var MyClass = function(){};
MyClass.prototype = {...}

在另一个文件中,我定义了一个需要该类的模块,并且有点像这样:

return {
   propA: new MyClass().propA,
   propB: new MyClass().propB
};

另一种方法是声明一个新的 MyClass 对象并使用它,如下所示:

var myObject = new MyClass();

return {
   propA: myObject.propA,
   propB: myObject.propB
};

使用其中每一种的优点和缺点是什么?

最佳答案

既然(据我从示例中可以看出)您只是实例化 MyClass 来访问原型(prototype)属性,为什么不去掉中间人呢?

return {
   propA: MyClass.prototype.propA,
   propB: MyClass.prototype.propB
};

关于javascript - 实例化对象而不将它们存储在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24883674/

相关文章:

javascript - 扩展 native 对象的工厂/类

javascript - 如何使用 jQuery 更改 span 内的文本,同时保持其他 span 包含的节点完好无损?

javascript - 循环 Fetch_API 似乎对我不起作用

performance - float vs 定点数 : speed on Intel I5 CPU

python - 在 python 中高效地找到数组的范围?

javascript - 我什么时候想在 JavaScript 中使用 “class”(静态)方法或属性?

javascript - 原型(prototype)继承 : constructor of child

javascript - 如何在 analytics.js 中为谷歌分析设置页面速度日志记录

javascript - 尽管遵循了以下教程,为什么 angularjs 中的该指令不接受参数

c++ - 缓冲通信速度噩梦