0
点赞
收藏
分享

微信扫一扫

【Javascript】length属性

小贴贴纸happy 2022-03-17 阅读 46

String.length和Array.length

在js中,length属性常见于字符串和数组(类数组)中,如

"string".length   //6
[1,2,3,4].length   //4

Function.length

其实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, b=1, c, 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) // 1

注意:

  • ...args不计入形参个数
  • 设置了默认值的参数及其之后的所有参数都不计入形参个数,之前的仍旧计入

Arguments对象

另外,获取函数的实参需要借助arguments对象,如

function fn(a,b){
	console.log(arguments.length)  //3
	console.log(arguments[2])   //3
	return a+b
}
fn(1,2,3)
console.log(fn.length)  //2

arguments 对象只能在函数内使用,它不是一个 Array,而是一个类数组对象,它类似于Array,但除了length属性和索引元素之外没有任何Array属性。

举报

相关推荐

0 条评论