可以改进Javascript原型模式的性能
我已经读过通过原型创建对象的速度更快,并且使用的内存少于闭包,因为闭包需要重新创建所有功能。 然后,访问该对象原型上的函数会稍微慢一点,因为它需要进一步遍历原型链来查找函数。
我想知道如果在构造函数中添加一个引用到原型函数可以提高性能,只需极小的内存和初始安装影响。 这可以通过这样的事情来实现......
function Customer2(name) {
this.name = name;
this.greet = this.constructor.prototype.greet;
}
Customer2.prototype = {
constructor: Customer2,
greet: function () {
return this.name + ' says hi!';
}
};
在这里,我添加了一个变量this.greet
,它引用原型函数来保存遍历时间。
难道这是提高性能和保持内存消耗低的有效方法吗? 这会导致任何副作用,如继承问题?
JSPerf链接:http://jsperf.com/prototype-pattern-local-reference
到目前为止,JSPerf似乎略微支持这个想法(除了Firefox似乎强烈支持关闭设置,这没有任何意义,也许我做错了什么)。 当然,这是一个非常小的例子,只有很少的测试样本,并没有显示内存消耗,但认为它可能有帮助。
链接地址: http://www.djcxy.com/p/64169.html上一篇: Can Javascript Prototype Pattern Performance Be Improved
下一篇: How does a constructor that just returns an object literal work?