非零基础自学前端最后一遍
二 JavaScript基础
7 JavaScript函数
7.16 立即执行函数的使用过程
7.16.1 立即执行函数
-
什么是立即执行函数?
-
专业名字:Immediately-Invoked Function Expression(IIFE 立即调用函数表达式)
-
表达的含义是一个函数定义完后被立即执行;
- 第一部分是定义了一个匿名函数,这个函数有自己独立的作用域。
- 第二部分是后面的(),表示这个函数被执行了
-
-
这个东西有什么用?
- 会创建一个独立的执行上下文环境,可以避免外界访问或修改内部的变量,也避免了对内部变量的修改
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 1.普通函数的使用过程
// function foo() {
// console.log("foo函数被执行~")
// }
// foo()
// foo(); // ()[]{}
// 2.定义函数, 定义完这个函数之后, 会要求这个函数立即被执行
// {} 代码块/对象类型
// () 控制优先级(2+3)*5/函数的调用/函数的参数
// [] 定义数组/从数组-对象中取值/对象的计算属性
// 立即执行函数(常用的写法)
(function () {
console.log("立即执行函数被调用~")
})()
// 3.立即执行函数的参数和返回值
var result = (function (name) {
console.log("函数立刻被执行~", name)
return "Hello World"
})("why")
console.log(result)
</script>
</body>
</html>
运行结果