何时使用自动函数执行
When to use automatic function execution
对于下面的代码段,我知道它是一个自动函数执行代码(我看到它在JQuery
中使用)。
var f = function() {
// function body code
// ...
// ...
}();
我想了解的是它的用法。
在哪种情况下,我们应该更喜欢使用上述语法?
使用上述语法我们有什么优势/好处?
"立即调用的函数表达式"是它的正确名称。而且它的用法很多,基本上它会紧紧地包裹scope
,除非我们有意这样做,否则不允许访问其variable
到外部范围。
您可以使用它来构建singleton pattern
。单例模式的用法之一是修改data encapsulation
。喜欢setters
和getters
.
可能的使用情况:
<script src="someLibrary.js"></script> //And it uses a global variable called x
<script>
var x = 10; //Now at this situation,
//the x belongs to someLibrary will be overridden here.
</script>
所以为了避免这样的冲突,我们可以使用 IIFE,
<script>
(function(){
var x = 10;
.
.
//Other codes goes here.
})();
</script>
相关文章:
- 等待回调函数执行
- 暂停函数执行流程,直到ajax请求完成
- Bigcommerce-是否可以在函数执行后更改文本
- 如何对jquery中的未命名函数执行.call()
- 等待函数执行后再继续
- mootools类型的函数将文本作为函数执行
- 停止从另一个函数执行Javascript函数
- Jquery回调函数执行多次
- 如何使即兴 jquery 暂停当前函数执行
- JavaScript 双函数执行
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 如何在 JS 中调用 2 次或更多次时延迟函数执行
- 函数执行的次数超出预期
- JS中函数执行错误
- 为什么这个函数执行了两次
- 从子函数执行父函数;t更新父级'的属性
- 如何在jQuery函数执行's处于活动状态
- 使用javascript函数执行php文件
- jQuery函数执行顺序
- javascript中同步函数执行中的问题