函数:
目标:
概念:
好处:
1.可控,想让它什么时候执行,就什么时候执行
2.重复用,编写一次,调用多次
声明:
方式1: function 函数名()
方式2: let/const 变量名 = function(){}
调用:
参数:
好处:
形式参数(形参):
1.本质就是个占位符
2.函数声明的时候,小括号中的变量名
3.多个用逗号隔开,变量名不能重复
实际参数(实参):
1.本质就是确定的数据
2.函数调用的时候,小括号中的数据
3.多个也有逗号隔开
默认值:
function getSum(num1 = 0, num2 = 0){
reture num1 + num2
}
调用函数之后,不传数据,默认值才会生效,否则就用实际传入的数据
返回值:
作用:把函数内部的(处理/计算好)的结果,给到调用者(函数外部)
语法: reture 数据
细节:1.函数如果没有reture,默认返回undefined(表明函数没有返回值)
2.reture 会结束函数的执行
匿名函数:
匿名函数又叫立即执行函数。
因为是匿名的,所以不能被调用。
因为不能被调用,所以不立即执行的话就没意义了。
因为立即执行,所以在执行完之后就会被销毁
写法:
(function () {alert(111)})()
(function () {alert(111)}())
作用域:
目标:
概念:
分类:
全局:
局部:
函数作用域:定义在函数内的变量,仅在函数内部起作用
块级作用域:定义在{ }里的变量,仅在{ }里起作用
作用域链:
概念: 变量的查找机制
原则: 就近原则
- 首先当前作用域下有没有,有就直接使用,否则向上查
- 如果有、拿来就用
- 否则报错