我试图了解原型函数和嵌套函数之间的区别。我需要知道以下内容
- 哪个更好,性能方面
- 两者的主要区别是什么
- 哪种结构更适合哪种情况(我假设两者都有不同的目标)?
我的基本用法: 我的基本用法是我想为 Web 应用程序编写一个主要功能,当启动时,它将在应用程序导航期间创建菜单、按钮、按钮单击事件、绘制图表、制作表格等,我需要我的代码以更好和最快的方式构建。我将大量使用 jquery 及其插件*。
为了简单起见,考虑我需要在可能的应用程序中的许多地方/阶段创建 portlets/widget 容器,我只需调用var port = App.creatPortlet()
然后port.content(// place data)
请帮助。
性能: 我在这里创建了性能测试prototype-vs-nested-function,看起来PROTOTYPE函数更快。但我需要一些建议。
原型功能:
function Person(opt) {
this.firstName = opt.firstName;
this.lastName = opt.lastName;
}
Person.prototype.getFullName = function() {
return this.firstName + " " + this.lastName;
};
// Testing performance
var P1 = new Person({
firstName: 'Jeremy',
lastName: 'McPeak'
}).getFullName();
嵌套函数:
var Person = function(opt) {
return {
getFullName: function() {
return opt.firstName + " " + opt.lastName;
}
};
}
// Testing performance
var P1 = new Person({
firstName: 'Jeremy',
lastName: 'McPeak'
}).getFullName();
更新: http: //jsperf.com/closure-prototype-static-reveal 我根据我的确切需要创建了 benchamrk。