我正在解决Angular中最终检查的问题Object.length.结果是1.它的字符串表示形式不显示任何参数.我知道第一个参数被使用了.
var obj = new Object({ a : 27 });
Run Code Online (Sandbox Code Playgroud)
document.write(Object.length);Run Code Online (Sandbox Code Playgroud)
那么为什么/如何计算呢?
函数的长度是声明的参数的数量,不包括任何rest参数.
来自MDN:
length是函数对象的属性,表示函数期望的参数数量,即形式参数的数量.此数字不包括rest参数.
Object构造函数中只有一个是可选的包装值.
此外,在Object函数的特定情况下,ES规范明确规定它的长度应为1:
除了内部属性和长度属性(其值为1)
(似乎对所有采用rest参数的函数都这样做,比如Array或fromCharCode)
请注意,浏览器中本机函数的(依赖于实现)字符串表示不一定显示正式参数.
| 归档时间: |
|
| 查看次数: |
173 次 |
| 最近记录: |