Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript名称空间。它是否提高了JS/浏览器的性能?_Javascript_Performance_Namespaces - Fatal编程技术网

Javascript名称空间。它是否提高了JS/浏览器的性能?

Javascript名称空间。它是否提高了JS/浏览器的性能?,javascript,performance,namespaces,Javascript,Performance,Namespaces,所以我完全理解为什么我们应该在javascript中使用名称空间,但它主要是为了组织目的和保持全局名称空间的整洁吗?。namepacking确实有助于提高浏览器/JS引擎的性能。 只是想知道你的想法是什么。 谢谢使用名称空间不会对性能产生任何明显影响。主要原因正是您所提到的:保持全局名称空间干净(以避免命名冲突)和组织。它在技术上会影响性能,但不会太大,这取决于您开始使用的深度。Silobox()是一个JavaScript性能基准测试工具,我们编写了一个测试来测试这一点。我们发现,对象嵌套得越深

所以我完全理解为什么我们应该在javascript中使用名称空间,但它主要是为了组织目的和保持全局名称空间的整洁吗?。namepacking确实有助于提高浏览器/JS引擎的性能。 只是想知道你的想法是什么。
谢谢

使用名称空间不会对性能产生任何明显影响。主要原因正是您所提到的:保持全局名称空间干净(以避免命名冲突)和组织。

它在技术上会影响性能,但不会太大,这取决于您开始使用的深度。Silobox()是一个JavaScript性能基准测试工具,我们编写了一个测试来测试这一点。我们发现,对象嵌套得越深,访问这些属性的时间就越长

因此,为了获得最佳速度,我建议在代码中添加全局快捷方式函数

假设您有:

var mycompany.myproj.Something = function(){ ... };
最好的做法是包括

var MCSomething = mycompany.myproj.Something;

这样,当JS引擎查找
MCSomething
时,它不必爬下任何树。谷歌地图使用这种方法。

感谢您的精彩解答。我肯定会使用全局快捷方式功能:)可能重复的