一个JavaScript函数不执行参数值(参数)的任何检查。
Function Parameters和Arguments
在本教程的前面,你了解到的函数可以有parameters :
functionName ( parameter1, parameter2, parameter3 ) {
code to be executed
}
Function parameters在功能定义列出的名称 。
Function arguments都传递给(和收到)功能的实际值 。
参数规则
JavaScript函数定义不为参数指定的数据类型。
JavaScript函数不执行类型检查上传递的参数。
JavaScript函数不检查收到的参数的个数。
参数默认值
如果一个函数被调用, 缺少参数 (小于声明),缺少的值设置为: 未定义
有时候,这是可以接受的,但有时最好是默认值分配给参数:
如果函数被调用的参数太多 (超过申报),这些参数可以使用arguments对象到达。
arguments对象
JavaScript函数有一个内置的对象调用的参数对象。
参数对象包含的函数被调用时使用的参数数组(调用)。
这种方式可以简单地使用一个功能,找到(例如)的号码列表的最高值:
例
x = findMax(1, 123, 500, 115, 44, 88);
function findMax() {
var i;
var max = -Infinity;
for (i = 0; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
试一试» 或者创建一个函数来汇总所有输入值:
例
x = sumAll(1, 123, 500, 115, 44, 88);
function sumAll() {
var i, sum = 0;
for (i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
试一试» 参数是按值传递
参数,在函数调用,是函数的参数。
JavaScript的参数是按值传递:此功能只得到知道值,而不是该参数的位置。
如果函数改变一个参数的值,它不会改变该参数的原始值。
更改参数是不可见(反射)之外的功能。
对象是通过引用传递
在JavaScript中,对象引用值。
正因为如此,物体会像它们是通过引用传递:
如果一个函数改变一个对象的属性,它改变了原有的价值。
更改对象的属性可见(反射)之外的功能。