本文主要介绍js中函数的长度,通过实例代码详细介绍,具有一定的参考价值。感兴趣的朋友可以参考一下。
目录
前言为什么到底多少钱?形式参数的数量
默认参数
剩余参数
摘要
序
今天,我要告诉你函数的长度,以及如何计算它。希望你能从中吸取教训,夯实基础。
为什么
为什么我会想到这个知识点?因为昨晚,在一个小组里,一个同学在讨论字节跳动的一个面试问题。
123[toString]。长度123=?
说实话,我一开始也没回答这个问题。其实我知道面试官想在数字原型上测试toString方法,但是我卡在了toString函数有多长这个难题上。所以今天的文章才在这里。
多少钱?
形式参数的数量
让我们看看下面的例子
函数fn1 () {}
函数fn2(名称){}
函数fn3(姓名,年龄){}
console.log(fn1.length) //0
console.log(fn2.length) //1
console.log(fn3.length) //2
可以看出,函数的形参和长度一样多。但事实真的是这样吗?继续往下看
默认参数
如果有默认参数,那么函数的长度是多少?
函数fn1(名称){}
函数fn2 (name=林三鑫){}
函数fn3(姓名,年龄=22) {}
函数fn4(姓名,年龄=22,性别){}
函数fn5(姓名=林三新,年龄,性别){}
console.log(fn1.length) //1
console.log(fn2.length) //0
console.log(fn3.length) //1
console.log(fn4.length) //1
console.log(fn5.length) //0
说明函数的长度是第一个带默认值的参数之前的参数个数。
剩余参数
在函数的形参中,有剩余形参。如果有残差参数,将如何计算?
功能fn1(名称、args) {}
console.log(fn1.length) //1
可以看出,其余参数不包括在长度的计算中。
摘要
总结之前先发布123[toString]。长度123=?答案是124。
综上所述,长度是函数对象的一个属性值,指的是函数要传入多少个参数,也就是形参的个数。参数个数不包括剩余的参数个数,只包括第一个有默认值的参数之前的参数个数。
关于js函数长度的这篇文章到此为止。关于js函数长度的更多信息,请搜索我们以前的文章或者继续浏览下面的相关文章。希望你以后能支持我们!