javaScript基础(6):(立即执行函数)

209 阅读1分钟

打好基础,查漏补缺

基础是重中之重

立即执行函数

立即执行函数就是声明了一个函数马上调用

此类函数没有声明,在一次执行过后立即释放,适合做初始化工作

var num = (funciton(a,b){
    var d = a + b
    return d
}(1,2))

为什么要在最外层用一对括号吧函数抱起来呢?

第一种理解

为了兼容js语法,外面不加括号的话会报语法错误

因此立即执行函数可以有多种写法,只要能通过js的语法检查就行

第二种理解

只有表达式才能被执行符号执行,函数声明不能立即被执行

能被执行符号执行的表达式他就会自动放弃函数名称

所以立即执行函数都可以说是匿名函数

(function(){alert('我是匿名函数')} ()) // 用括号把整个表达式包起来
(function(){alert('我是匿名函数')}) () //用括号把函数包起来
!function(){alert('我是匿名函数')}() // 求反,我们不在意值是多少,只想通过语法检查。
+function(){alert('我是匿名函数')}()
-function(){alert('我是匿名函数')}()
~function(){alert('我是匿名函数')}()
void function(){alert('我是匿名函数')}()
new function(){alert('我是匿名函数')}()