Mar*_*cin 7 javascript initialization function
可能重复:
JavaScript:为什么匿名函数包装器?
嗨,大家好,
我想问你包装所有内容的原因是什么
(function() {
document.write("Hello World!");
})();
Run Code Online (Sandbox Code Playgroud)
功能?
干杯
med*_*iev 11
自执行匿名函数的主要目的是将所有内容包装在私有名称空间中,这意味着声明的任何变量都不会污染全局名称空间,基本上就像沙盒一样.
var test = 1;
Run Code Online (Sandbox Code Playgroud)
test 会污染全局命名空间,window.test会被设置.
(function() {
var test = 1; alert( test );
})();
Run Code Online (Sandbox Code Playgroud)
window.test未定义,因为它位于我们的私有沙箱中.
这"保护"全球命名空间免受污染.
(function() {
var something = "a thing";
// ...
if (something != "a thing") alert("help!");
// ...
function utility(a, b) {
// ...
};
// ...
})();
Run Code Online (Sandbox Code Playgroud)
现在,那些临时变量和函数都在外部抛弃函数内受到保护.里面的代码可以使用它们,但全局命名空间保持干净,没有脏的,不需要的变量.
全局命名空间是一种宝贵的资源.我们都应该意识到它对我们自己,特别是对我们的孩子的重要性.
| 归档时间: |
|
| 查看次数: |
3460 次 |
| 最近记录: |