JavaScriptfunction
不对参数值(参数)执行任何检查。
在本教程的前面部分,您了解到函数可以具有参数:
function
functionName(
parameter1, parameter2, parameter3) {
//
code to be executed
}
函数参数是名字列在函数定义中。
函数论点是真实的值传递给函数(并由函数接收)。
JavaScript 函数定义不指定参数的数据类型。
JavaScript 函数不对传递的参数执行类型检查。
JavaScript 函数不检查接收到的参数数量。
如果一个函数被调用缺少参数(小于声明的值),缺失值设置为undefined
。
有时这是可以接受的,但有时最好为参数分配默认值:
ES6允许函数参数具有默认值。
剩余参数 (...) 允许函数将不定数量的参数视为数组:
function sum(...args) {
let sum = 0;
for (let arg of args) sum += arg;
return sum;
}
let x = sum(4, 9, 16, 25, 29, 100, 66, 77);
亲自试一试 »
JavaScript 函数有一个称为参数对象的内置对象。
参数对象包含调用函数时使用的参数数组。
这样,您可以简单地使用函数来查找(例如)数字列表中的最高值:
x = findMax(1, 123, 500, 115, 44, 88);
function findMax() {
let max = -Infinity;
for (let 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() {
let sum = 0;
for (let i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
亲自试一试 »
如果一个函数被调用实参太多(超过声明的),这些参数可以使用参数对象。
函数调用中的参数是函数的参数。
JavaScript 参数通过值:函数只知道值,而不知道参数的位置。
如果函数更改参数的值,它不会更改参数的原始值。
对参数的更改在函数外部不可见(反映)。
在 JavaScript 中,对象引用就是值。
因此,对象的行为就像它们被经过一样参考:
如果函数更改对象属性,它会更改原始值。
对象属性的更改在函数外部可见(反映)。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!