什么是匿名函数

匿名函数就是没有名称的函数。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Demo</title>
<script type="text/javascript">
// 有名称的函数
function say() {
console.log("hello BNTang!");
}

let show = function () {
console.log("hello BNTang!");
}

// 匿名函数
function () {
console.log("hello BNTang!");
}
</script>
</head>
<body>
</body>
</html>

匿名函数的注意点

匿名函数不能够只定义不使用。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Demo</title>
<script type="text/javascript">
function () {
console.log("hello BNTang!");
}
</script>
</head>
<body>
</body>
</html>

匿名函数的应用场景

作为其他函数的参数。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Demo</title>
<script type="text/javascript">
function test(fn) {
fn();
}

test(function () {
console.log("hello world");
});
</script>
</head>
<body>
</body>
</html>

作为其他函数的返回值。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Demo</title>
<script type="text/javascript">
function test() {
return function () {
console.log("hello BNTang!");
};
}

let fn = test();
fn();
</script>
</head>
<body>
</body>
</html>

作为一个立即执行的函数,????注意点: 如果想让匿名函数立即执行, 那么必须使用 ​​()​​ 将函数的定义包裹起来才可以。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Demo</title>
<script type="text/javascript">
(function () {
console.log("hello BNTang!");
})();
</script>
</head>
<body>
</body>
</html>