什么是函数
- 函数就是语句的封装,可以让这些代码方便地被复用。
- 函数具有“一次定义,多次调用”的优点。
- 使用函数,可以简化问题,让代码更具有可读性。
函数的定义
- 和变量类似,函数必须先定义然后才能使用。
- 使用function关键字定义函数,function是“功能”的意思。
- 函数表达式
函数的调用
- 执行函数体中的所有语句,就称为“调用函数”。
- 调用函数非常简单,只需在函数名字后书写圆括号对即可。
- 语句执行顺序
函数声明的提升
- 和变量声明提升类似,函数声明也可以被提升。
函数表达式不能提升
- 如果函数是用函数表达式的写法定义的,则没有提升特性。
函数优先提升
函数的参数
- 参数是函数内的一些待定值,在调用函数时,必须传入这些参数的具体值。
- 函数的参数可多可少,函数可以没有参数,也可以有多个参数,多个参数之间需要用逗号隔开。
“形实结合”
- 参数接受正常,正确输出预期的结果。
形参和实参个数不同的情况
- 实参多于形参时,多余的实参没有被形参接受,但是可以得到部分实参被接受后的运行结果。
- 实参少于形参时,多余的形参没有接收到实际参数,会用默认值undefined代替,并代入到函数中进行计算。
arguments
- 函数内arguments表示它接收到的实参列表,它是一个类数组对象。
- 类数组对象:所有属性均为从0开始的自然数序列,并且有length属性,和数组类似可以用方括号书写下标访问对象的某个属性值,但是不能调用数组的方法。
函数的返回值
- 函数体内可以使用return关键字表示“函数的返回值”。
- 调用一个有返回值的函数,可以被当做一个普通值,从而可以出现在任何可以书写值的地方。
- 调用函数时,一旦遇见return语句则会立即退出函数,将执行权交还给调用者。
- 结合if语句的时候,往往不需要写else分支了。