函数 - 图1

函数:

目标:

掌握函数的使用,会用函数解决代码重用的问题

概念:

function,具有特定功能的代码片段

好处:

1.可控,想让它什么时候执行,就什么时候执行
2.重复用,编写一次,调用多次

声明:

方式1: function 函数名()
方式2: let/const 变量名 = function(){}

调用:

函数名()

参数:

好处:

极大地提高函数的灵活性和通用性

形式参数(形参):

1.本质就是个占位符
2.函数声明的时候,小括号中的变量名
3.多个用逗号隔开,变量名不能重复

实际参数(实参):

1.本质就是确定的数据
2.函数调用的时候,小括号中的数据
3.多个也有逗号隔开

默认值:

  1. function getSum(num1 = 0, num2 = 0){
  2. reture num1 + num2
  3. }

调用函数之后,不传数据,默认值才会生效,否则就用实际传入的数据

返回值:

作用:把函数内部的(处理/计算好)的结果,给到调用者(函数外部)
语法: reture 数据
细节:1.函数如果没有reture,默认返回undefined(表明函数没有返回值)
2.reture 会结束函数的执行

匿名函数:

匿名函数又叫立即执行函数。
因为是匿名的,所以不能被调用。
因为不能被调用,所以不立即执行的话就没意义了。
因为立即执行,所以在执行完之后就会被销毁

写法:

  1. (function () {alert(111)})()
  2. (function () {alert(111)}())

作用域:

目标:

掌握作用域的分类,明白变量生效的范围,会解决变量报错的问题

概念:

变量起作用的范围

分类:

全局:

定义在script下的变量,作用范围广

局部:

函数作用域:定义在函数内的变量,仅在函数内部起作用
块级作用域:定义在{ }里的变量,仅在{ }里起作用

作用域链:

概念: 变量的查找机制
原则: 就近原则

  1. 首先当前作用域下有没有,有就直接使用,否则向上查
  2. 如果有、拿来就用
  3. 否则报错