参数对象如何在javascript中工作

arguments对象是类似于数组的对象, 与传递给函数的参数相对应。你可以将其用于处理递归函数参数。要确定函数签名中的参数数量, 请使用length属性。
分析下面的示例, JoinStringsInFunctions将返回一个字符串, 该字符串由每个参数中所有给定的字符串组成:

// Note that the function doesn't expect any argument yet !function JoinStringsInFunctions() {    var receivedArguments = Array.prototype.slice.call(arguments, 0); // This will make the arguments as an array and will include all the items on itreturn receivedArguments.join("-"); }// Then executevar finalText = JoinStringsInFunctions("Hello", "From", "Our Code World"); console.log(finalText); // Output : "Hello-From-Our Code World"

【参数对象如何在javascript中工作】显然, 这是一个非常简单的函数, 我们需要检查类型(仅连接字符串)等。但是, 如果该函数需要参数, 则需要更改slice函数的索引:
function JoinStringsInFunctions(separator) {    // change the 0 to 1 to expect the first parameter    var receivedArguments = Array.prototype.slice.call(arguments, 1); return receivedArguments.join(separator); }// Then executevar mySeparator = "< - > "; var finalText = JoinStringsInFunctions(mySeparator, "Hello", "From", "Our Code World"); console.log(finalText); // Output: "Hello< - > From< - > Our Code World"

创建一个HTML列表我们将使用所有接收到的参数创建一个html列表, 但是我们期望第一个参数(ul或ol)中的列表类型为:
function CreateList(listType){    var args = Array.prototype.slice.call(arguments, 1); // Expects the first parameter    var html = "< "+listType+"> ";     for(var i = 0; i < args.length; i++){            var item = args[i];             html += '< li> '+item+'< /li> ';     }     html += "< /"+listType+"> ";     return html; }CreateList("ul", "Hello", "From", "Our", "Code", "World"); // Outputs : < ul> < li> Hello< /li> < li> From< /li> < li> Our< /li> < li> Code< /li> < li> World< /li> < /ul>

    推荐阅读