用IIFE封装每个js文件是否可以接受?
例如,在文件somefile.js而不是:
var x = ...
var y = ...
function foo() {...}
...
制作:
(function() {
var x = ...
var y = ...
function foo() {...}
...
}());
对所有js文件执行相同操作。这将隐藏用户的函数和全局变量,因此他们将无法轻松调用或更改它们。
答案 0 :(得分:1)
用IIFE封装每个js文件是否可以接受?
是的,完全可以接受。
但是它可能不太有用,因为你通常希望js文件中的某些函数可以从其他地方调用。
这将隐藏用户的函数和全局变量,因此他们将无法轻松调用或更改它们。
不,向用户隐瞒任何内容都是徒劳的。
IIFE的目的是将文件的局部变量彼此隐藏,即分离js模块。