所以我完全理解为什么我们应该在javascript中命名空间,但它主要是出于组织目的并保持全局命名空间整洁? namepacing实际上有助于浏览器/ JS引擎的性能。 只是想知道你的想法是什么。 感谢
答案 0 :(得分:4)
它在技术上会阻碍性能,但不会太多,具体取决于你的开始程度。 Silobox(http://www.silobox.com/)是一个JavaScript性能基准测试工具,我们编写了一个测试这个问题的测试。我们发现嵌套对象越深,访问这些属性的时间就越长。
因此,为了获得最佳速度,我建议在代码中添加全局快捷方式功能。
假设你有:
var mycompany.myproj.Something = function(){ ... };
包含
是一种很好的做法var MCSomething = mycompany.myproj.Something;
这样,当JS引擎查找MCSomething
时,它不必爬下任何树。 Google地图使用此方法。
答案 1 :(得分:3)
使用命名空间不应对性能产生任何明显影响。主要原因正是您所提到的:保持全局命名空间(以避免命名冲突)和组织。