length属性可返回字符串中的字符数目。而function中length获取为一个函数定义的参数数目。

[1,2,3].length  可以得到 3, "123".length  也可以得到 3,这个略懂js的都知道。

但是  eval.length,RegExp.length,"".toString.length,1..toString.length  会得到什么呢?

分别得到 1,2,0,1,这些数字代表什么呢?

这个是群里很多新人朋友一直问的一个问题,其实函数的 length 得到的是形参个数。
我们来简单看个例子:


function test(a,b,c) {}
test.length // 3

function test(a,b,c,d) {}
test.length // 4

是不是很简单,但是也有特殊的,如果函数内部是通过 arguments 调用参数,而没有实际定义参数的话,length 只会的得到 0。


function test() { console.log( arguments );}
test.length // 0

这个函数确实可以传入参数,而且内部也调用了参数,但是 length 却无法得知传入的参数的个数。
只能在函数执行的时候通过  arguments.length  得到实参个数。


function test() { console.log( arguments.length );}
test(1,2,3); // 输出 3
test(1,2,3,4); // 输出 4

所以函数的 length 属性只能得到他的形参个数,而无法得知实参个数。

最新资讯
美研究人员绘制出新冠病毒关键蛋白分子的3D结构

美研究人员绘制出新冠

美国科研团队首次绘制出新型冠状病毒一个关键蛋白分子
前苹果首席科学家特斯勒逝世 他的发明我们仍在用

前苹果首席科学家特斯

他最知名的贡献是发明了复制、粘贴、剪切功能键。
联想集团港股午后涨近8% 第三季度财报收入创新高

联想集团港股午后涨近

联想集团港股午后拉升,涨6%。公司截至去年末的第三财季
机器狗Spot执行任务遇挑战 波士顿动力:正更新改进

机器狗Spot执行任务遇

OneZero获得的电邮资料显示,马萨诸塞州警方向波士顿动
华为消费者BG成立新部门 主管自有HMS生态建设

华为消费者BG成立新部

华为方面确认,消费者BG已经成立一个全新部门:全球生态发
华为新设HMS主管机构全球生态发展部

华为新设HMS主管机构

华为消费者业务(CBG)新设了一个二级部门:消费者BG全球生
最新文章
Vue实现图片与文字混输效果

Vue实现图片与文字混

用多了 JQuery ,习惯了使用JQuery的API操作 DOM ,几乎忘
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)

Vue实现点击当前元素

这篇文章主要介绍了Vue实现点击当前元素以外的地方隐
Vue实现验证码功能

Vue实现验证码功能

这篇文章主要为大家详细介绍了Vue实现验证码功能,文中
JS实现的雪花飘落特效示例

JS实现的雪花飘落特效

这篇文章主要介绍了JS实现的雪花飘落特效,结合实例形
微信小程序实现图片压缩

微信小程序实现图片压

这篇文章主要为大家详细介绍了微信小程序实现图片压缩
JavaScript实现京东放大镜效果

JavaScript实现京东放

这篇文章主要为大家详细介绍了JavaScript实现京东放大