【发布时间】:2011-02-16 21:58:20
【问题描述】:
所以我完全理解为什么我们应该在 javascript 中命名空间,但这主要是为了组织目的并保持全局命名空间整洁吗?命名空间是否真的有助于提高浏览器/JS 引擎的性能。 只是想知道你的想法是什么。 谢谢
【问题讨论】:
标签: javascript performance namespaces
所以我完全理解为什么我们应该在 javascript 中命名空间,但这主要是为了组织目的并保持全局命名空间整洁吗?命名空间是否真的有助于提高浏览器/JS 引擎的性能。 只是想知道你的想法是什么。 谢谢
【问题讨论】:
标签: javascript performance namespaces
它在技术上会影响性能,但影响不大,具体取决于您开始进行的深度。 Silobox (http://www.silobox.com/) 是一个 JavaScript 性能基准测试工具,我们编写了一个测试来测试这个东西。我们发现对象嵌套的越深,访问这些属性的时间就越长。
因此,为了获得最佳速度,我建议在您的代码中添加全局快捷方式函数。
假设你有:
var mycompany.myproj.Something = function(){ ... };
最好包含
var MCSomething = mycompany.myproj.Something;
这样,当 JS 引擎查找 MCSomething 时,它不必爬下任何树。谷歌地图使用这种方法。
【讨论】:
使用命名空间应该不会对性能产生任何明显影响。主要原因就是您提到的:保持全局命名空间干净(以避免命名冲突)和组织。
【讨论】: