匿名函数,就是没有名字的函数。
声明一个普通函数,然后将函数的名字去掉即是匿名函数;但是单独运行一个匿名函数会报错,此时外面套一层括号即可;执行的话后面加个( )即可。
(function () {
console.log(123);
})
倘若需要传值,直接将参数写到括号内即可:
(function (msg) {
console.log(msg);
})('Hello')
匿名函数的应用场景
1 事件 (比如给按钮增加点击事件)
btn.onclick = function () { //给按钮增加点击事件
alert("123");
}
2 赋值给变量
var fn = function () {
console.log(123);
}
fn() // 123
3 回调函数 (比如定时器的回调函数)
setInterval(function () {
console.log('我是一个回调函数,每次1秒钟会被执行一次');
}, 1000)
4 返回值 (return一个匿名函数)
function fn() {
return function () {
console.log(123);
}
}
fn()() // 123
匿名函数的作用
1、实现闭包
2、模拟块级作用域,减少全局变量,降低命名冲突
3、执行完匿名函数,存储在内存中的相关变量会被销毁,从而节省内存