浅析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写一个弹出层并锁屏效果实现代码
Dec 07 Javascript
JS实现下拉框的动态添加(附效果)
Apr 03 Javascript
如何解决Jquery库及其他库之间的$命名冲突
Sep 15 Javascript
jquery新的绑定事件机制on方法的使用方法
Apr 15 Javascript
理解javascript中DOM事件
Dec 25 Javascript
用原生JS对AJAX做简单封装的实例代码
Jul 13 Javascript
js在ie下打开对话窗口的方法小结
Oct 24 Javascript
Vue.js之slot深度复制详解
Mar 10 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
May 20 Javascript
webpack4 处理SCSS的方法示例
Sep 03 Javascript
jQuery实现轮播图效果demo
Jan 11 jQuery
微信小程序实现页面左右滑动
Nov 16 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
收音机术语解释
2021/03/01 无线电
PHP多例模式介绍
2013/06/24 PHP
解析Win7 XAMPP apache无法启动的问题
2013/06/26 PHP
PHP COOKIE及时生效的方法介绍
2014/02/14 PHP
php中simplexml_load_file函数用法实例
2014/11/12 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
2015/12/17 PHP
CI框架常用函数封装实例
2016/11/21 PHP
poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等
2012/10/12 Javascript
js使用数组判断提交数据是否存在相同数据
2013/11/27 Javascript
JavaScript实现移动端滑动选择日期功能
2016/06/21 Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
2016/09/09 Javascript
使用Vue组件实现一个简单弹窗效果
2018/04/23 Javascript
Spring boot 和Vue开发中CORS跨域问题解决
2018/09/05 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
2019/02/21 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
python文件比较示例分享
2014/01/10 Python
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
2014/07/04 Python
Python实现Linux下守护进程的编写方法
2014/08/22 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
Python学生信息管理系统修改版
2018/03/13 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
Python OpenCV实现视频分帧
2019/06/01 Python
Python函数中参数是传递值还是引用详解
2019/07/02 Python
python制作英语翻译小工具代码实例
2019/09/09 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
python Scrapy框架原理解析
2021/01/04 Python
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
社区母亲节活动方案
2014/03/05 职场文书
教师纪念9.18事件演讲稿范文
2014/09/14 职场文书
个人廉洁自律总结
2015/03/06 职场文书
安全守法证明
2015/06/23 职场文书
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android