参数
parameter,括号内列出的变量(它是函数声明时的术语)。
argument,是调用函数时传递给函数的值(它是函数调用时的术语)。
基础类型的参数都会进行复制,所以即使修改了,也不会影响原始数据。
默认值
如果没有值,默认是 undefined
js
function fff(who = "张三") {
console.log("🔥🔥🔥", who);
}rest
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/rest_parameters
表示剩余参数
rest 必须放在最后。
js
function sum(...args) {
let sum = 0;
for (let arg of args) sum += arg;
return sum;
}args 是一个数组
arguments
arguments 旧时代的产物。
arguments 始终包含所有参数。
arguments 是 arrayLike(类数组)!
箭头函数是没有 arguments !
Spread
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Spread_syntax
适用于 Array、Objec、Iterable
其实 类数组也是可以的
js
...[1,3,5,7]Spread 与 Object.assign() 有异曲同工之妙