函数是被设计为执行特定任务的代码块, 会在某代码调用它时被执行。
声明格式
function 函数名(parms1, params2, ..., paramsX){
//函数体代码
return 返回值
}
注意事项
- 函数名必须要符合
驼峰式
命名(首字母小写,之后每个单词首字母大写); - 函数名后面的()中, 可以有参数, 也可以没有参数, 分别称为
有参函数
和无参函数
; - 声明函数时的参数列表, 称为
形参列表
, 形式参数(变量的名字),function sayHello (x, y){}
, 调用函数时的参数列表称为实参列表
, 实际参数(变量的赋值),sayHello(1, 2)
; - 函数的形参列表个数, 与实参列表个数没有实际关联关系, 函数参数的个数, 取决于实参列表, 如果实参列表的个数比形参列表少, 则为赋值的形参, 值将为
undefined
; - 函数可以有返回值, 使用
return
返回结果。调用函数时, 可以使用一个变量接受函数的返回结果, 如果函数没有返回值, 则接受的结果为undefined
; - 函数参数可以设置默认值, 当为
null/undefined
时调用默认值,function sayHello (x, y = 2){}
,sayHello(1)
; - 函数中变量的作用域, 在函数中, 使用
var
声明的变量, 为局部变量, 只能在函数内部访问, 不使用var
声明的变量, 为全局变量, 在函数外也能访问; - 函数的声明与函数的调用没有先后之分, 可以在声明函数前调用函数;
// 无参函数
function sayHello() {
console.log(1 * 2)
}
// 调用
sayHello()
// 有参函数
function sayHello(x, y) {
console.log(x * y)
}
// 调用
sayHello(1, 2)
// 有返回值的函数
function sayHello(x, y) {
return x * y
}
// 调用
var value = sayHello(