JavaScript 函数参数和属性

rest

…rest 调用,位置在所有参数的最后面,是一个可迭代对象

arguments

arguments 老代码中可以找到arguments 的使用,可以通过索引的方式访问其中的变量

箭头函数没有arguments

Spread 参数

Spread 参数适用于任何一个可迭代对象,包括可迭代对象,类数组,数组。
情景: 我们像Math.max中传递一个数组(Math.,max应该接收的是一个列表),但不想通过索引的方式把所有的参数写进去,因为这样很麻烦。于是,我们可以使用Spread 参数,用法Math.max(…arr);这样就把整个数组传进去了。
同样在合并数组中可以这样传递以列表的形式一整个数组,而不用通过索引一个一个拆分。
Array.from(arr)和[…arr]作用完全相同

函数的属性

函数名function.name

函数名通过直接赋值获得或者通过上下文推测获得
函数length属性

length 表示函数的参数个数,余参…rest不参与计数
自定义属性

函数也是一个对象,我们可以像给对象赋值一样,给函数自定义属性。需要注意的是,属性不是变量,被存储在函数内,而不是外部的词法环境(外部:先声明函数,再在函数的外面声明函数的属性,所以这里用外部)。所以即使是在函数外面,也可以用函数名.属性名进行引用。

你可能感兴趣的:(java,script,javascript)