为了账号安全,请及时绑定邮箱和手机立即绑定

函数声明 或 函数赋值 的 length 属性

函数声明 或 函数赋值 的 length 属性

温温酱 2018-12-22 19:18:38
一个很奇怪的 现象 ,求解析 :let fo1 = function(x, y = 1) {}fo1.length // 1let fo2 = function(y = 1 ,x ) {}fo2.length // 0let fo3 = function(y , x ,z = 2) {}fo3.length // 2let fo4 = function(y , x ,z) {}fo4.length // 3
查看完整描述

1 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

这是函数参数传默认值的问题。

定义了默认值的参数,必须是函数的尾部参数,其后不能再有其他无默认值的参数。
这是因为有了默认值以后,该参数可以省略,只有位于尾部,才可能判断出到底省略了哪些参数。

所以这儿的length指的是,函数的参数个数减去指定了默认值的参数个数


查看完整回答
反对 回复 2019-01-24
  • 1 回答
  • 0 关注
  • 446 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信