【发布时间】:2011-07-23 04:38:23
【问题描述】:
所以当我创建一个库时,我通常是这样做的:
var myLib = (function() {
return {
publicProperty: 'test',
publicMethod: function() {
console.log('public function');
},
anotherMethod: function() { //... },
// .. many more public methods
};
}());
我无意中听说如果你这样写,创建库会更快和/或使用更少的内存进行初始化:
var MyLib = function() {
this.publicProperty = 'test';
};
MyLib.prototype = {
publicMethod: function() {
console.log('public method');
},
anotherMethod: function() { //... },
// ... many more public methods
};
myLib = new MyLib();
一个初始化比另一个快吗?我的问题甚至有意义吗?我假设这些完成了相同的任务(该任务是我在 docready 的代码中的其他地方使用myLib.publicMethod())。谢谢!
【问题讨论】:
-
在第二个示例中,您不想调用匿名函数。如果您有时间编辑问题,我会相应地编辑我的答案。
-
@Tay Toal,请随时编辑我的主要问题以解决您所说的问题。我真的很感激!
-
另一个编辑,以确保我们创建了一个 MyLib 的实例
标签: javascript initialization libraries prototype-programming public-method