匿名函数
匿名函数的定义:没有名字的函数
存储在变量中
let test = function(){
alert('没有名字的函数,存储在变量中!')
}
test(); // 通过变量名调用函数 不能在定义之前调用
普通的函数名也可以赋值给其它变量, 然后调用
function xxoo() {
alert('普通的函数')
}
let fun = xxoo;
fun();
立即执行
**把代码写在函数体中, 形成了函数的局部作用域 **
好处:其中的变量盒子函数不会影响其它代码 也可以及时得到释放
**方法一 **
(function () {
let i = 1
let j = 3
alert(i + j)
})();
**方法二 **
!function () {
let i = 1
let j = 3
alert(i + j)
}();
方法三
(function () {
let i = 1
let j = 3
alert(i + j)
}());
作为函数的实参
函数内部对数据操作的行为不确定, 就可以用一个函数名占位
function test(a, b, callback){
callback(a, b)
}
test(3, 1, function(x, y){ alert(x - y)} )
作为普通函数的返回值
作为返回值的子函数
该局部变量不被销毁, 还可以记录之前的数据值
可以访问父函数中的局部变量
function test(){
let i = 0
return function(){
console.log( i++ )
}
}
let fun = test()
fun() // 0
fun() // 1