最新的Web开发教程
 

JavaScript Function Parameters


一个JavaScript函数不执行参数值(参数)的任何检查。


Function ParametersArguments

在本教程的前面,你了解到的函数可以有parameters

functionName ( parameter1, parameter2, parameter3 ) {
    code to be executed
}

Function parameters在功能定义列出的名称

Function arguments都传递给(和收到)功能的实际


参数规则

JavaScript函数定义不为参数指定的数据类型。

JavaScript函数不执行类型检查上传递的参数。

JavaScript函数不检查收到的参数的个数。


参数默认值

如果一个函数被调用, 缺少参数 (小于声明),缺少的值设置为: 未定义

有时候,这是可以接受的,但有时最好是默认值分配给参数:

function myFunction(x, y) {
    if (y === undefined) {
          y = 0;
    }
}
试一试»

如果函数被调用的参数太多 (超过申报),这些参数可以使用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中,对象引用值。

正因为如此,物体会像它们是通过引用传递

如果一个函数改变一个对象的属性,它改变了原有的价值。

更改对象的属性可见(反射)之外的功能。