length 属性
JavaScript length 属性可设置或返回数组中元素的数目,
一般只是用于获取数组, 字符串长度
"字符串".length
["数", "组"].length
或清空数组
var a = ["数", "组"] a.length = 0 a // []
function.length
返回函数的长度
什么是"函数的长度"?
其实就是函数非默认值形参的个数
形参的个数指该函数有多少个必须要传入的参数。
例如:
…args 不算;
a = 1 不算;
a = 1 打后的不算;
c= 1之前的不具有默认值的形参算;
此外的, 函数中声明的参数个数就是 length 返回的值了
function fun1(a) { } function fun2(a, b) { } function fun3(a, b, c) { } function fun4(a, b, c, d) { } function fun5(...args) { } function fun6(a = 1, b, c, d) { }
function fun7(a, b, c=1, d) { } console.log(fun1.length) // 1 console.log(fun2.length) // 2 console.log(fun3.length) // 3 console.log(fun4.length) // 4 console.log(fun5.length) // 0 console.log(fun6.length) // 0
console.log(fun7.length) // 2
拓展
Function 构造器的属性
Function 构造器本身也是个Function。他的 length 属性值为 1 。该属性 Writable: false, Enumerable: false, Configurable: true.
Function.prototype 对象的属性
Function.prototype 对象的 length 属性值为 0 。