个性化阅读
专注于IT技术分析

参数对象如何在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 it
  return receivedArguments.join("-");
}

// Then execute
var finalText = JoinStringsInFunctions("Hello", "From", "Our Code World");

console.log(finalText); // Output : "Hello-From-Our Code World"

显然, 这是一个非常简单的函数, 我们需要检查类型(仅连接字符串)等。但是, 如果该函数需要参数, 则需要更改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 execute
var 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>
赞(0)
未经允许不得转载:srcmini » 参数对象如何在javascript中工作

评论 抢沙发

评论前必须登录!