当前位置: 首页 > 编程笔记 >

浅析javascript中function 的 length 属性

巫新知
2023-03-14
本文向大家介绍浅析javascript中function 的 length 属性,包括了浅析javascript中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 属性只能得到他的形参个数,而无法得知实参个数。

 类似资料:
  • 本文向大家介绍JavaScript中length属性的使用方法,包括了JavaScript中length属性的使用方法的使用技巧和注意事项,需要的朋友参考一下  此属性返回字符串中的字符数。 语法 下面是参数的详细信息:     A string 返回值: 返回字符串中的字符数。 例子: 这将产生以下结果:

  • 本文向大家介绍浅谈JavaScript function函数种类,包括了浅谈JavaScript function函数种类的使用技巧和注意事项,需要的朋友参考一下 本篇主要介绍普通函数、匿名函数、闭包函数 1.普通函数介绍 1.1 示例 1.2 Js中同名函数的覆盖 在Js中函数是没有重载,定义相同函数名、不同参数签名的函数,后面的函数会覆盖前面的函数。调用时,只会调用后面的函数。 1.3 arg

  • 本文向大家介绍浅析javascript中的Event事件,包括了浅析javascript中的Event事件的使用技巧和注意事项,需要的朋友参考一下 1、焦点:当一个元素有焦点的时候,那么他就可以接受用户的输入(不是所有元素都能接受焦点) 给元素设置焦点的方式:     1、点击   2、tab   3、js 2、(例子:输入框提示文字)   onfocus:当元素获取焦点时触发:        e

  • 本文向大家介绍javascript中的throttle和debounce浅析,包括了javascript中的throttle和debounce浅析的使用技巧和注意事项,需要的朋友参考一下 throttle 我们这里说的throttle就是函数节流的意思。再说的通俗一点就是函数调用的频度控制器,是连续执行时间间隔控制。主要应用的场景比如: 1.鼠标移动,mousemove 事件 2.DOM 元素动态

  • 本文向大家介绍深入浅析JavaScript中的3DES,包括了深入浅析JavaScript中的3DES的使用技巧和注意事项,需要的朋友参考一下 3DES简介: 3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。由于计算机运算能力的增强,原版DES密码的密钥

  • 本文向大家介绍浅析Javascript中“==”与“===”的区别,包括了浅析Javascript中“==”与“===”的区别的使用技巧和注意事项,需要的朋友参考一下 之前使用JavaScript的时候,时不时的会遇到使用 == 和 === 这两个符号来判断两个变量是否相等。但是对于这两个符号的差别一直没有去调查。今天又遇到了 === 这个符号,所以决定去查一下,究竟这两者有什么区别。 在Java