匿名函数就是指没有函数名的函数.
一. 声明匿名函数
/*
//这里定义了一个函数,而且没有函数名。这样写语法是错误的,如果允许这样定义,那么根本就没有办法调用。
//所以,我们可以用一个变量来存储一下
function(){
}
*/
// 声明了一个匿名函数,并把匿名函数赋值给变量f。 注意这个时候这个匿名函数并没有执行。
// 这就叫函数表达式
var f = function(){
alert("哥们我是匿名函数内的代码");
}
//我们可以把变量 f 当做一个函数名来调用
f(); //调用上面定义的匿名函数
说明:
匿名函数除了没有函数名之外,其他与普通的函数没有任何区别。
如果想在别的地方调用匿名函数,则应该声明一个变量,并把匿名函数赋值给这个变量
可以把这个变量名做为函数名来调用。参数传递,方法返回值和普通的函数一样。
二. 匿名函数立即执行
匿名函数立即执行, 也叫匿名函数的自调用.
有些场景,我们需要定义完函数之后立即执行,这个时候可以定义一个匿名函数来完成。 (immediately-invoked function expression (IIFE))
有两种写法:
(function () {
alert("匿名函数立即执行")
})();
// 或者
(function () {
alert("匿名函数立即执行")
}());
说明:
匿名函数自调用主要用来封装代码.
把本来全局的变量可以封装成局部变量. 避免了命名冲突等风险.