使用IIFE封装每个js文件是否可以接受?

时间:2016-10-27 12:25:16

标签: javascript syntax encapsulation

用IIFE封装每个js文件是否可以接受?

例如,在文件somefile.js而不是:

var x = ...
var y = ...
function foo() {...}
...

制作:

(function() {
var x = ...
var y = ...
function foo() {...}
...
}());

对所有js文件执行相同操作。这将隐藏用户的函数和全局变量,因此他们将无法轻松调用或更改它们。

1 个答案:

答案 0 :(得分:1)

  

用IIFE封装每个js文件是否可以接受?

是的,完全可以接受。

但是它可能不太有用,因为你通常希望js文件中的某些函数可以从其他地方调用。

  

这将隐藏用户的函数和全局变量,因此他们将无法轻松调用或更改它们。

不,向用户隐瞒任何内容都是徒劳的。

IIFE的目的是将文件的局部变量彼此隐藏,即分离js模块。