js中函数的length是多少

js中函数的length是多少

本文主要介绍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函数长度的更多信息,请搜索我们以前的文章或者继续浏览下面的相关文章。希望你以后能支持我们!

js中函数的length是多少