浅析javascript中function 的 length 属性


Posted in Javascript onMay 27, 2014

[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 相关文章推荐
在页面中js获取光标/鼠标的坐标及光标的像素坐标
Nov 11 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
Sep 19 Javascript
JavaScript实现横向滑出的多级菜单效果
Oct 09 Javascript
jQuery Select下拉框操作小结(推荐)
Jul 22 Javascript
原生js实现水平方向无缝滚动
Jan 10 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
Jul 25 Javascript
基于AngularJS的简单使用详解
Sep 10 Javascript
基于es6三点运算符的使用方法(实例讲解)
Oct 12 Javascript
微信小程序之批量上传并压缩图片的实例代码
Jul 05 Javascript
vue动画打包后失效问题的解决方法
Sep 18 Javascript
vue elementUI table 自定义表头和行合并的实例代码
May 22 Javascript
JS基础之逻辑结构与循环操作示例
Jan 19 Javascript
JavaScript模块随意拖动示例代码
May 27 #Javascript
javascript中不提供sleep功能如何实现这个功能
May 27 #Javascript
js实现网页自动刷新可制作节日倒计时效果
May 27 #Javascript
纯js实现遮罩层效果原理分析
May 27 #Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
May 27 #Javascript
JQuery获取表格数据示例代码
May 26 #Javascript
chrome下img加载对height()的影响示例探讨
May 26 #Javascript
You might like
PHP网上调查系统
2006/10/09 PHP
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
2013/08/01 PHP
Linux编译升级php的详细方法
2013/11/04 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
特殊情况下如何获取span里面的值
2014/05/20 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
JavaScript替换当前页面的方法
2015/04/03 Javascript
javascript基本数据类型及类型检测常用方法小结
2016/12/14 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
JS实现的简单下拉框联动功能示例
2018/05/11 Javascript
BootStrap modal实现拖拽功能
2018/12/01 Javascript
JS中call()和apply()的功能及用法实例分析
2019/06/28 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
2019/09/19 Javascript
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
selenium3+python3环境搭建教程图解
2018/12/07 Python
Python读取yaml文件的详细教程
2020/07/21 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
如何利用CSS3制作3D效果文字具体实现样式
2013/05/02 HTML / CSS
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
艺术系应届生的自我评价
2013/10/19 职场文书
护士自我鉴定
2013/10/23 职场文书
简单而又朴实的个人求职信分享
2013/12/12 职场文书
关于运动会广播稿50字
2014/10/18 职场文书
技术员个人工作总结
2015/03/03 职场文书
2015入党自荐书范文
2015/03/05 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书
MySQL 使用SQL语句修改表名的实现
2021/04/07 MySQL
Oracle 数据仓库ETL技术之多表插入语句的示例详解
2021/04/12 Oracle
十大最强飞行系宝可梦,BUG燕上榜,第二是飞行系王者
2022/03/18 日漫
python_tkinter弹出对话框创建
2022/03/20 Python