函数语法

重复代码:让程序难以修改

函数主要用于减少重复代码

创建函数(定义、声明)函数

function 函数名() {
  // 函数体
}
1
2
3

函数体的代码不会直接运行,必须手动调用函数,才能运行其中的代码。

调用函数

运行函数体

函数名()
1

函数提升

通过字面量声明的函数,会提升到脚本块的顶部。

通过字面量声明的函数,会成为全局对象(window)的属性。

其他特点

通过 typeof 函数名 得到的结果是 'function'

函数内部声明的变量:

  1. 如果不使用 var 声明,和全局变量一致,表示给全局对象(window)添加属性
  2. 如果使用 var 声明,变量提升到所在函数的顶部,函数外部不可以使用该变量

函数中声明的变量,只能在函数中使用,在外部无效

参数

参数表示函数运行的未知条件,需要调用者告知的数据

function 函数名(形参1,形参2, ...){

}

函数名(实参)
1
2
3
4
5

如果实参没有传递,则对应的形参为 undefined

返回值

函数运行后,得到的结果,调用函数时,调用表达式的值就是函数的返回值

return 会直接结束函数的整个运行

return 后面如果不跟任何数据,返回 undefined

如果函数中没有书写 return,则该函数会在末尾自动 return undefined

文档注释

/**
 * @param {number} a 第1个相加的数
 * @param {number} b 第2个相加的数
 * @returns {number} 返回前2个数的和
 */

function sum(a, b) {
  //函数体
  return a + b
}
1
2
3
4
5
6
7
8
9
10