inner 函数和 prototype 函数效率上有何区别?

作者:vkvi 来源:ITPOW(原创) 日期:2009-6-25
function Foo()
{
    this.calculate = function () { /*代码*/ };
}

function Foo2()
{
}
Foo.prototype.calculate = function () { /*代码*/ };

一个使用 inner 函数,一个使用 prototype。

如果我们创建 10 个 Foo 实例,那么内存中将会有:

  • 10 个 calculate;
  • 10 个 calculate 分别指向的 10 个函数体。

如果我们创建 10 个 Foo 实例,那么内存中将会有:

  • 10 个 calculate;
  • 10 个 calculate 共同指向的 1 个函数体。

由此看出,多个实例时,用 prototype 这种原型的方法,比 inner 函数这种方法节省内存。

相关阅读

相关文章