JavaScript函数可以接受任意数量的参数。
Javascript函数参数存储为数组样结构调用 arguments
。
参数
可以增长为包含任意数量的值。
这些值通过数字索引引用,并且有一个 length
属性来确定 arguments
中有多少个值。
arguments
对象在任何函数内部可用。
函数中的命名参数存在是为了方便起见不限制函数可以接受的参数的数量。
arguments
对象不是Array和的实例因此不具有与数组相同的方法。
Array.isArray(arguments)总是返回false。
JavaScript不会忽略命名参数的函数。
函数期望的参数数量存储在函数“s length"属性上。
length属性指示其期望的参数的数量。
以下代码显示如何使用参数和函数长度。
function myMethod(value) {
return value;
}
console.log(myMethod("www..cn!"));
console.log(myMethod("www..cn!", 2));
console.log(myMethod.length);
myMethod = function() {
return arguments[0];
};
console.log(myMethod("www..cn!"));
console.log(myMethod("www..cn!", 2));
console.log(myMethod.length);
上面的代码生成以下结果。
下面的代码显示了如何创建一个函数来对任意数量的参数求和。
function sum() { //www..cn
var result = 0,
i = 0,
len = arguments.length;
while (i < len) {
result += arguments[i];
i++;
}
return result;
}
console.log(sum(1, 2));
console.log(sum(13, 14, 15, 16));
console.log(sum(5,0));
console.log(sum());
上面的代码生成以下结果。
JavaScript函数可以接受任意数量的参数,并且不指定函数采用的参数类型。
JavaScript函数实际上没有签名。
Javascript功能不支持重载。
以下代码显示了声明两个具有相同名称的函数时会发生什么:
function myMethod(message) {
console.log(message);
}
function myMethod() {
console.log("Default message");
}
myMethod("Hello!");
上面的代码生成以下结果。
在JavaScript中,当定义具有相同名称的多个函数时,在您的代码中最后出现的一个wins。
我们可以使用 arguments
对象来模拟函数重载。
function writeLine(message) {
if (arguments.length === 0) {
message = "Default message";
}
console.log(message);
}
writeLine("Hello!");
writeLine("");
上面的代码生成以下结果。
break 语句用于跳出循环。 continue 用于跳过循环中的一个迭代。Break 语句 我们已经在本教程之前的章节中见到过 break 语句。它...
日期对象用于处理日期和时间。在线实例返回当日的日期和时间如何使用 Date() 方法获得当日的日期。getFullYear()使用 getFullYea...
Linux whereis命令 Linux 命令大全Linux whereis命令用于查找文件。该指令会在特定目录中查找符合条件的文件。这些文...
Linux uniq命令 Linux 命令大全Linux uniq命令用于检查及删除文本文件中重复出现的行列。uniq可检查文本文件中重复出现的行列。...
Linux lpd命令 Linux 命令大全Linux lpd命令 是一个常驻的打印机管理程序,它会根据 /etc/printcap 的内容来管理本地或远端的打...