浅析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 相关文章推荐
javascript实现上传图片并预览的效果实现代码
Apr 11 Javascript
js实现文字截断功能
Sep 14 Javascript
微信小程序(应用号)简单实例应用及实例详解
Sep 26 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
Dec 03 Javascript
Javascript仿京东放大镜的效果
Mar 01 Javascript
JS中使用正则表达式g模式和非g模式的区别
Apr 01 Javascript
JQuery 获取Dom元素的实例讲解
Jul 08 jQuery
JSON数据中存在单个转义字符“\”的处理方法
Jul 11 Javascript
微信小程序实现自定义加载图标功能
Jul 19 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
Jun 18 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
Dec 25 Javascript
Javascript 模拟mvc实现点餐程序案例详解
Dec 24 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实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
php生成gif动画的方法
2015/11/05 PHP
使用PHPMailer发送邮件实例
2017/02/15 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
JavaScript函数、方法、对象代码
2008/10/29 Javascript
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
2013/11/22 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
2016/06/02 Javascript
angular.js分页代码的实例
2016/07/27 Javascript
JS解决iframe之间通信和自适应高度的问题
2016/08/24 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
详解vue与后端数据交互(ajax):vue-resource
2017/03/16 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
Vue组件间通信 Vuex的用法解析
2019/08/05 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
Python实现Logger打印功能的方法详解
2017/09/01 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
python将数组n等分的实例
2019/12/02 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
2020/03/01 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
巴西网上药店:Drogaria Araujo
2021/01/06 全球购物
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
3.15国际消费者权益日主题活动活动总结
2014/03/16 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
七年级上册语文教学计划
2015/01/22 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
python爬虫之selenium库的安装及使用教程
2021/05/23 Python
Window server中安装Redis的超详细教程
2021/11/17 Redis
Python中三种花式打印的示例详解
2022/03/19 Python