数组的length属性大家都很清楚了,本文主要其他函数对象的length属性。
Function的length属性
function的length属性返回函数形参的个数,获取不到非形参
function test1(a,b,c) {}
console.log(test1.length); // 3
function a(){
console.log(arguments.length)//2
}
a(1,2)
console.log(a.length) //0
Eveal的length属性
Eveal接收一个入参,如果参数是一个表达式,且表达式有返回值则返回表达式的值,否则返回undefined;如果不是,则返回该参数;
console.log(eval().length) //报错
console.log(eval('name').length) //undefined:1
RegExp的length属性
console.log(RegExp.length) //2
toString后的length属性
1.toString() //报错,JS引擎无法确定这里的`.`是什么意思,是点运算符(对象方法)还是浮点数?
1..toString() //成功,运算结果"1" 解析: 第二个点被视为点运算符,前面的是浮点数。
console.log("".toString.length) //0
console.log(1..toString.length) //1