javascript – 这个模式的名称/目的是什么?

参见英文答案 > What do empty parentheses () after a function declaration do in javascript? 4个
我没有找到一个要求类似于这个模式的帖子,抱歉,如果我错过了它.

无论如何,我在许多jQuery插件或脚本中重复看到这种模式:

(function () {
  ...........
}());

它的目的是什么?它有名字吗?

谢谢!

解决方法

它也被称为立即调用函数表达式

Ben Alman有a good article covering IIFE usage,为什么“自动执行匿名函数”不是最好的术语:

One of the most advantageous side effects of Immediately-Invoked
Function Expressions is that,because this unnamed,or anonymous,
function expression is invoked immediately,without using an
identifier,a closure can be used without polluting the current scope.

[… T]the term “self-executing” is somewhat misleading,because it’s not the function that’s executing itself,even though the function is being executed. Also,“anonymous” is unnecessarily specific,since an Immediately Invoked Function Expression can be either anonymous or named. And as for my preferring “invoked” over “executed,” it’s a simple matter of alliteration; I think “IIFE” looks and sounds nicer than “IEFE.”

相关文章

事件冒泡和事件捕获 起因:今天在封装一个bind函数的时候,发现el.addEventListener函数支持第三个参数...
js小数运算会出现精度问题 js number类型 JS 数字类型只有number类型,number类型相当于其他强类型语言...
什么是跨域 跨域 : 广义的跨域包含一下内容 : 1.资源跳转(链接跳转,重定向跳转,表单提交) 2.资源...
@ "TOC" 常见对base64的认知(不完全正确) 首先对base64常见的认知,也是须知的必须有...
搞懂:MVVM模式和Vue中的MVVM模式 MVVM MVVM : 的缩写,说都能直接说出来 :模型, :视图, :视图模...
首先我们需要一个html代码的框架如下: 我们的目的是实现ul中的内容进行横向的一点一点滚动。ul中的内容...