可以改进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?