浅析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 相关文章推荐
jquery的index方法实现tab效果
Feb 16 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
Mar 24 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
Mar 16 Javascript
JavaScript中的lastIndexOf()方法使用详解
Jun 06 Javascript
全面解析Bootstrap表单使用方法(表单控件状态)
Nov 24 Javascript
BootStrap智能表单实战系列(四)表单布局介绍
Jun 13 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
Dec 02 Javascript
jQuery实现判断控件是否显示的方法
Jan 11 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
May 27 Javascript
详解vue指令与$nextTick 操作DOM的不同之处
Aug 02 Javascript
详解Vue 如何监听Array的变化
Jun 06 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
Aug 01 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数组一对一替换实现代码
2012/08/31 PHP
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
yii用户注册表单验证实例
2015/12/26 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
google地图的路线实现代码
2009/08/20 Javascript
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
2011/08/09 Javascript
封装的jquery翻页滚动(示例代码)
2013/11/18 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
2014/04/29 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
Jquery获取radio选中的值
2017/05/05 jQuery
vue2中filter()的实现代码
2017/07/09 Javascript
javascript实现摄像头拍照预览
2019/09/30 Javascript
JavaScript数组排序功能简单实现
2020/05/14 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
[06:44]2014DOTA2国际邀请赛-钥匙体育馆开战 开幕式振奋人心
2014/07/19 DOTA
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
使用python模拟高斯分布例子
2019/12/09 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
智乐游戏测试笔试题
2014/05/21 面试题
销售冠军获奖感言
2014/02/03 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
内勤岗位职责
2015/02/10 职场文书
关于SpringBoot 使用 Redis 分布式锁解决并发问题
2021/11/17 Redis