浅析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弹窗代码 可以指定弹出间隔
Jul 03 Javascript
JQuery live函数
Dec 24 Javascript
jQuery bind事件使用详解
May 05 Javascript
有效提高JavaScript执行效率的几点知识
Jan 31 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
May 30 Javascript
js 递归和定时器的实例解析
Feb 03 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
Aug 29 Javascript
jQuery实现表格的增、删、改操作示例
Jan 27 jQuery
layui的表单验证支持ajax判断用户名是否重复的实例
Sep 06 Javascript
Electron 调用命令行(cmd)
Sep 23 Javascript
JS实现灯泡开关特效
Mar 30 Javascript
js实现九宫格布局效果
May 28 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 CLI实现简单的数据库实时监控调度
2009/07/01 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
Chrome扩展页面动态绑定JS事件提示错误
2014/02/11 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
JS实现禁止鼠标右键的功能
2016/10/15 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
ng-repeat指令在迭代对象时的去重方法
2018/10/02 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
微信小程序 如何获取网络状态
2019/07/26 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
Python使用自带的ConfigParser模块读写ini配置文件
2016/06/26 Python
Python实现拷贝多个文件到同一目录的方法
2016/09/19 Python
浅析python中的迭代与迭代对象
2018/10/08 Python
用Python实现读写锁的示例代码
2018/11/05 Python
python 实现语音聊天机器人的示例代码
2018/12/02 Python
Django 解决由save方法引发的错误
2020/05/21 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
EntityManager都有哪些方法
2013/11/01 面试题
学生期末评语大全
2014/04/30 职场文书
网络文明传播志愿者活动方案
2014/08/20 职场文书
我的大学四年规划书范文2014
2014/09/26 职场文书
公务员政审材料
2014/12/23 职场文书
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android
HTML页面点击按钮关闭页面的多种方式
2022/12/24 HTML / CSS