打好基础,查漏补缺
基础是重中之重
立即执行函数
立即执行函数就是声明了一个函数马上调用
此类函数没有声明,在一次执行过后立即释放,适合做初始化工作
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('我是匿名函数')}()