JavaScript函数的定义两种方法及函数的参数:
函数(function)是定义一次但却可以调用或执行任意多次的一段JavaScript代码。
函数可能有参数,即函数被调用时指定了值的局部变量。
我们常常定义函数有两种方法:
一、声 明 式 ( 常 用 方 法 ) :
- 使用: function 这个关键字来声明一个函数
- 语法:
function fun_name() {
// 一段代码
}
这种方法在函数定义之前之后调用均可
用 function fun_name () {}方式定义,直接返回结果,示例如下:
二、赋 值 式:
- 使用: 其实就是和我们使用 var 关键字是一个道理了
首先使用 var 定义一个变量,把一个函数当作值直接赋值给这个变量就可以了 ( 不需要在 function 后面书写函数的名字了,因为在前面已经有了) - 语法:
var fun_name = function() {
// 一段代码
}
注意: 这种方法要求将函数定义在调用之前,因为他是把fun_name当做变量(var)的。
用 var fun_name = function () { } 方式定义,示例如下:
注 意 :定义完一个函数以后,如果没有函数调用,那么写在 {} 里面的代码没有意义,
只有调用以后才会执行 虽然两种定义方式的调用都是一样的,但是还是有一些区别的
声明式函数: 调用可以在定义之前 或者 定义之后
赋值式函数: 调用只能在 定义之前
函 数 的 参 数:
在调用函数时,您可以向其传递值,这些值被称为参数。
这些参数可以在函数中使用。
您可以发送任意多的参数,由逗号 (,) 分隔
当您声明函数时,请把参数作为变量来声明:
function fun_name( 形参1,形参2){
//代码
}
fun_name( 实参1, 实参2);
形参:就是在函数内部可以使用的变量,在函数外部不能使用,
每写一个单词就相当于在函数内部定义了一个可以使用的变量(遵循变量名的命名规则和命名规范)
实参:在函数调用的时候给行参赋值的,也就是,在调用的时候是给一个实际的内容的
实 例:
注 意:
实参和必须以一致的顺序出现。第一个实参就是第一个被传递的形参的给定的值,以此类推
参数多了怎么办 ?
- 实参数量比形参数量少: 其余未赋值的形参值都为 undefined;
- 实参比形参多 :剩下的参数都使用 arguments 关键字进行接收, 使用 [ ] 进行取出arguments[ i ]);
多参数的优化:
设计参数的时候一定注意,如果参数数量较少直接使用多个形参传参形式即可。
一旦参数数量非常多,而且存在很多可选参数,有些参数是不必要的,但是参数又是按照顺序进行传递的,这个时候一定要把参数转换成对象进行参数传递
实例:
使用这样的方式传递参数,参数的顺序就不重要了^ _ ^;