Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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
在iLife中包装所有Javascript代码_Javascript_Jquery_Iife - Fatal编程技术网

在iLife中包装所有Javascript代码

在iLife中包装所有Javascript代码,javascript,jquery,iife,Javascript,Jquery,Iife,是否可以将所有Javascript代码(无论代码有多长)包装到立即调用的函数表达式(IIFE)中?如果是,潜在的利弊是什么?好吧,有“方法”可以做到这一点。您可以将整个代码编写在一个文件中(不推荐用于非普通应用程序),或者使用一些处理器将所有javascript文件合并到一个文件中(缩小文件时很常见)。 至于“应该”你这样做,它有它的好处,当然,这意味着你可以编写非范围函数,比如 function globalFunc(){} 而且它不会污染全局名称空间。这样做可以避免暴露函数,从而防止用户通

是否可以将所有Javascript代码(无论代码有多长)包装到立即调用的函数表达式(IIFE)中?如果是,潜在的利弊是什么?

好吧,有“方法”可以做到这一点。您可以将整个代码编写在一个文件中(不推荐用于非普通应用程序),或者使用一些处理器将所有javascript文件合并到一个文件中(缩小文件时很常见)。 至于“应该”你这样做,它有它的好处,当然,这意味着你可以编写非范围函数,比如

function globalFunc(){}

而且它不会污染全局名称空间。这样做可以避免暴露函数,从而防止用户通过控制台调用它们。当然,您需要确定所有希望通过
窗口公开的变量和方法的范围。
,我认为这是一个很好的实践。

您显然知道IIFE是什么。使用它的优点和缺点是什么?这就是你的答案,不管位置。任意长?不,计算机没有无限的内存来存储你的程序。