专栏名称: 前端之神
一位前端小菜鸡,写过300多篇原创文章,全网有5w+个前端朋友,梦想是成为”前端之神“~
目录
相关文章推荐
哎咆科技  ·  苹果憋大招!iOS 18.4 Siri ... ·  10 小时前  
度房苏州  ·  5.07亿起拍!刚刚,苏州再挂一宗宅地! ·  18 小时前  
EETOP  ·  Arm 在数据中心赚了多少钱? ·  17 小时前  
EETOP  ·  突发:一大批中国IC公司被台积电断供! ·  17 小时前  
江苏司法行政在线  ·  江苏法援律师,被央视关注! ·  昨天  
51好读  ›  专栏  ›  前端之神

95%的人都回答不上来的问题:函数的length是多少?

前端之神  · 公众号  ·  · 2024-12-08 14:26

正文

前言

大家好,我是林三心,我今天给大家讲讲 function length ,到底是怎么算的。希望大家能从中学到东西,并且可以巩固一下基础。

为什么

为什么我会想到这个知识点呢?因为昨晚,在一个群里,有一位同学在讨论一道字节跳动的面试题

123['toString'].length + 123 = ?

说实话这道题,我一开始也没答出来。其实我是知道,面试官想考 Number 原型上的 toString 方法,但是我卡在了 toString函数的length是多少 这个难题上。所以才有了今天这篇文章

到底是多少?

形参个数

咱们来看看下面这个例子

function fn1 ({}

function fn2 (name{}

function fn3 (name, age{}

console.log(fn1.length) // 0
console.log(fn2.length) // 1
console.log(fn3.length) // 2

可以看出, function 有多少个形参, length 就是多少。但是事实真是这样吗?继续往下看

默认参数

如果有默认参数的话,函数的 length 会是多少呢?

function fn1 (name{}

function fn2 (name = '林三心'{}

function fn3 (name, age = 22{}

function fn4 (name, age = 22, gender{}

function fn5(name = '林三心', age, gender{ }

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

说明了, function length ,就是 第一个具有默认值之前的参数个数

剩余参数

在函数的形参中,还有 剩余参数 这个东西,那如果具有 剩余参数 ,会是怎么算呢?

function






请到「今天看啥」查看全文