剩余参数

您所在的位置:网站首页 literal翻译 剩余参数

剩余参数

2023-03-28 03:38| 来源: 网络整理| 查看: 265

因为theArgs是个数组,所以你可以使用length属性得到剩余参数的个数:

function fun1(...theArgs) { alert(theArgs.length); } fun1(); // 弹出 "0", 因为 theArgs 没有元素 fun1(5); // 弹出 "1", 因为 theArgs 只有一个元素 fun1(5, 6, 7); // 弹出 "3", 因为 theArgs 有三个元素

下例中,剩余参数包含了从第二个到最后的所有实参,然后用第一个实参依次乘以它们:

function multiply(multiplier, ...theArgs) { return theArgs.map(function (element) { return multiplier * element; }); } var arr = multiply(2, 1, 2, 3); console.log(arr); // [2, 4, 6]

下例演示了你可以在剩余参数上使用任意的数组方法,而arguments对象不可以:

function sortRestArgs(...theArgs) { var sortedArgs = theArgs.sort(); return sortedArgs; } alert(sortRestArgs(5,3,7,1)); // 弹出 1,3,5,7 function sortArguments() { var sortedArgs = arguments.sort(); return sortedArgs; // 不会执行到这里 } alert(sortArguments(5,3,7,1)); // 抛出 TypeError 异常:arguments.sort is not a function

为了在arguments对象上使用Array方法,它必须首先被转换为一个真正的数组。

function sortArguments() { var args = Array.prototype.slice.call(arguments); var sortedArgs = args.sort(); return sortedArgs; } console.log(sortArguments(5, 3, 7, 1)); // shows 1, 3, 5, 7


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3