浅析javascript中function 的 length 属性

 更新时间:2014年05月27日 09:48:17   作者:  
length 属性可返回字符串中的字符数目。而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函数作用域和提前声明 分享

    JAVASCRIPT函数作用域和提前声明 分享

    这篇文章介绍了JAVASCRIPT函数作用域和提前声明,有需要的朋友可以参考一下
    2013-08-08
  • javascript的几种写法总结

    javascript的几种写法总结

    下面小编就为大家带来一篇javascript的几种写法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • 深入理解JS正则表达式---分组

    深入理解JS正则表达式---分组

    下面小编就为大家带来一篇深入理解JS正则表达式---分组。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 理解javascript中的原型和原型链

    理解javascript中的原型和原型链

    这篇文章介绍了javascript中的原型和原型链,需要的朋友可以参考下
    2015-07-07
  • javascript的基础交互详解

    javascript的基础交互详解

    这篇文章主要介绍了javascript的基础交互详解,文章通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-10-10
  • JavaScript中使用自然对数ln的方法

    JavaScript中使用自然对数ln的方法

    这篇文章主要介绍了JavaScript中使用自然对数ln的方法,是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06
  • js分页代码分享

    js分页代码分享

    这篇文章主要介绍了js分页代码示例,很简单的代码,需要的朋友可以参考下
    2014-04-04
  • JavaScript入门教程(6) Window窗口对象

    JavaScript入门教程(6) Window窗口对象

    他是JavaScript中最大的对象,它描述的是一个浏览器窗口。一般要引用它的属性和方法时,不需要用“window.xxx”这种形式,而直接使用“xxx”。一个框架页面也是一个窗口。
    2009-01-01
  • JavaScript中的Number数字类型学习笔记

    JavaScript中的Number数字类型学习笔记

    对数字类型支持得不够强大是很多人吐槽JavaScript的原因,anyway...这里整理了JavaScript中的Number数字类型学习笔记,适合入门及基础知识复习,需要的朋友可以参考下
    2016-05-05
  • 在JavaScript中typeof的用途介绍

    在JavaScript中typeof的用途介绍

    本篇文章,小编为大家介绍,在JavaScript中typeof的用途介绍。不过在阅读本文的前提是,你现在应该已经知道原始值和对象值的区别了
    2013-04-04

最新评论