1、函数定义
(1)方式一:声明式
function fn() {
// 一段代码
}
fn( ) //函数调用
// function: 声明函数的关键字,表示接下来是一个函数了
// fn: 函数的名字,我们自己定义的(遵循变量名的命名规则和命名规范)
(2)方式二:赋值式
var fn = function () { // 不需要在 function 后面书写函数的名字了,因为在前面已经有
// 一段代码
}
fn( ) //函数调用
两种不同定义方式在函数调用上的区别:
- 声明式函数:调用可以放在定义之前,也可以放在定义之后
- 赋值式函数:调用只能在定义之后
2、函数的参数
// 声明式函数
function fn(行参写在这里) {
// 一段代码
}
fn(实参写在这里)
// 赋值式函数
var fn = function (行参写在这里) {
// 一段代码
}
fn(实参写在这里)
(1) 形参与实参的个数关系
- 形参个数少于实参个数:形参少就会拿不到实参给的多余的值,所以在函数内部就没有办法用到多余的实参
function fn(num1, num2) {
// 函数内部可以使用 num1 和 num2
}
// 本次调用的时候,传递了三个实参,100 200 和 300
// 100 对应了 num1,200 对应了 num2,300 没有对应的变量
// 所以在函数内部就没有办法依靠变量来使用 300 这个值
fn(100, 200, 300)
- 形参个数多余实参个数:多出来的形参就是没有值的,就是undefined
function fn(num1, num2, num3) {
// 函数内部可以使用 num1 num2 和 num3
}
// 本次调用的时候,传递了两个实参,100 和 200
// 就分别对应了 num1 和 num2
// 而 num3 没有实参和其对应,那么 num3 的值就是 undefined
fn(100, 200)