js小记 function 的 length 属性

简介: 原文:js小记 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 得到的是形参个数。
原文: js小记 function 的 length 属性

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

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

分别得到 1201,这些数字代表什么呢?

这个是群里很多新人朋友一直问的一个问题,其实函数的 length 得到的是形参个数。
可以参见这里 《MDN Function.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 属性只能得到他的形参个数,而无法得知实参个数。

好了今天水了一篇,明天见,,,明天可能会说点PHP的东西。。

目录
相关文章
N..
|
24天前
|
缓存 JavaScript 前端开发
Vue.js的计算属性
Vue.js的计算属性
N..
11 2
N..
|
24天前
|
JavaScript 前端开发 数据处理
Vue.js的过滤器和监听属性
Vue.js的过滤器和监听属性
N..
16 1
|
26天前
|
存储 JavaScript 前端开发
js开发:请解释什么是回调函数(callback function),并给出一个示例。
回调函数是JavaScript中处理异步编程的一种常见模式,常用于事件驱动和I/O操作。它们作为参数传递给其他函数,在特定条件满足或任务完成后被调用。例如,`asyncOperation`函数接受回调函数`handleResult`,在模拟的异步操作完成后,调用`handleResult`并传递结果。这使得程序员能在操作完成后执行后续任务。
17 1
|
1月前
|
移动开发 JavaScript 前端开发
编程笔记 html5&css&js 028 HTML输入属性(2/2)
编程笔记 html5&css&js 028 HTML输入属性(2/2)
|
1月前
|
JavaScript 前端开发
编程笔记 html5&css&js 027 HTML输入属性(1/2)
编程笔记 html5&css&js 027 HTML输入属性(1/2)
|
1月前
编程笔记 html5&css&js 023 HTML表单属性
编程笔记 html5&css&js 023 HTML表单属性
|
1月前
|
存储 移动开发 前端开发
编程笔记 html5&css&js 010 HTML全局属性
编程笔记 html5&css&js 010 HTML全局属性
|
2月前
|
JavaScript 前端开发
JavaScript常用的属性
JavaScript常用的属性
|
3月前
|
前端开发 JavaScript 算法
深入探究 JavaScript 中的 String:常用方法和属性全解析(下)
深入探究 JavaScript 中的 String:常用方法和属性全解析(下)
|
3月前
|
前端开发 JavaScript 索引
深入探究 JavaScript 中的 String:常用方法和属性全解析(中)
深入探究 JavaScript 中的 String:常用方法和属性全解析(中)