jvarScript的多个参数
多个参数
let show = function(a, b) { console.log(a); console.log(b); } show(10, 20, 30, 40); // 输出10,20
输出后面的30,40,使用...参数名 —— 参数扩展
let show = function(a, b, ...args) { console.log(a); console.log(b); console.log(args); } show(10, 20, 30, 40); // 输出10,20, [30, 40];
注意试用了(...args)作为参数后,...args的后面不能再添加其他的参数了 ,参数扩展收集剩余的参数
let show = function(a, b, ...args, c) { console.log(a); console.log(b); console.log(args); } show(10, 20, 30, 40, 100); // Rest parameter must be last formal parameter 出错了 ,...args,必须是最后一个
展开数组
let show = function(a, b, c) { console.log(a); console.log(b); console.log(c); } show(10, 20, 30); // 10 , 20 , 30
let arr = [10, 20, 30]; let show = function(a, b, c) { console.log(a); console.log(b); console.log(c); } show(...arr); // 10 , 20 , 30
let arr1 = [10, 20, 30]; let arr2 = [40, 50, 60]; let arr = [...arr1, ...arr2]; console.log(arr); // [10, 20, 30, 40, 50, 60]
注意 ... 不能赋值给别人
let arr = [1, 2, 3]; let a = ...arr; console.log(a); // Uncaught SyntaxError: Unexpected token ...
收集参数
// 收集参数 function show(...args) { fn(...args); // 调用 fn } function fn(a, b) { console.log(a + b); } show(1, 2); // 3