js function.length 函数的长度

发布时间 2023-08-30 14:49:16作者: 当下是吾

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 。