我了解推荐的方式是版本 2(如下),使用原型。但是,这两个版本之间有什么区别,因为版本 1 不仅在内存消耗方面有时会超过版本 2,而且通常在一半到三分之一的时间内完成(根据我使用 Chrome 的测试)。
版本 1:
var C = function() { console.log("new C"); }
C.f = function(foo) { console.log("function"); }
var a = [];
for (var i = 0; i < 100000; i++) {
a.push(new C());
}
版本 2:
var C = function() { console.log("new C"); }
C.prototype.f = function(foo) { console.log("function"); }
var a = [];
for (var i = 0; i < 100000; i++) {
a.push(new C());
}