在最后一篇文章中,我们讨论了Javascript中的默认参数。本文讨论Javascript的参数参数对象。

作为下面例子的函数,我们如何根据不同的传入参数进行不同的处理

复制代码代码如下所示:

所有功能(){

我们在这里做什么

}

应该返回6

AddAll(1, 2, 3);

应该返回10

AddAll(1, 2, 3,4);



幸运的是,Javascript有一个参数对象可以用来处理上面的情况,参数对象是数组对象,想知道参数对象的细节,请在这里盖章,我们使用参数对象来改变这个:

复制代码代码如下所示:

所有功能(){

var总和= 0;

对于(var i = 0;i < arguments.length;i++){

总和=参数{ };

}

收起回复;

}

6 返回

AddAll(1, 2, 3);

10 返回

AddAll(1, 2, 3,4);



正如我们上面所说的,参数对象是一个类数组对象,下面我们来测试它:

复制代码代码如下所示:

功能getName(){

console.log(Array.isArray(参数));

}

将输出false

getName(本杰明);



以上测试结果可以看出如下:

它不是数组对象,那么它与数组对象有什么区别呢详情请在此盖章。

执行下面的示例会引发错误:

复制代码代码如下所示:

功能sortargs(){

Uncaught TypeError:不确定是不是 / /功能

整理= arguments.sort()

返回排序;

}

SortArgs();



我们可以将一个数组的数组对象转换为数组对象,如下所示:

复制代码代码如下所示:

功能sortargs(){

将参数对象转换为一个真正的数组

var args = { }。slice.call(参数);

这将起作用!

整理= args.sort()

返回排序;

}

将输出{ 1, 2, 3 }

console.log(sortargs(1));



如果你觉得这篇文章对你有帮助,希望转移到更多需要帮助的人。错了,欢迎回来。