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 函数这种方法节省内存。
相关阅读