1、匿名函数
函数整体分成两大类,一类是具名函数,一类是匿名函数。
具名函数:声明函数,调用函数, function fn(){} fn()
匿名函数:没有名称的函数, function(){}
没有名字的函数,无法直接使用。
使用方式:(1)函数表达式 (2)立即执行函数
2、函数表达式
将匿名函数赋值给一个变量,并且通过变量名称进行调用,我们将这个称为函数表达式
语法:

调用函数:
// 1、函数表达式
// 把这个函数赋值给fn
let fn = function () {
console.log('我是函数表达式')
}
console.log(fn) //打印出来是一个函数
//调用函数
fn()
函数表达式与具名函数的区别:
具名函数,在哪个位置调用都可以;函数表达式,必须先写表达式,后调用。
// 函数表达式和我们具名函数的不同 function fn(){}
// 具名函数在哪里调用都行
fun()
function fun() {
console.log(1) //1
}
3、立即执行函数
场景使用:避免全局变量之间的污染
无需调用,立即执行
两个立即执行函数之间要加分号,否则会报错。
(1)第一种写法
语法:(function(){})();
(function(形参){})(实参);

(2)第二种写法
语法:(function () { }());
(function (形参) { }(实参));
