Skip to content

参数

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() 有异曲同工之妙