浅析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 相关文章推荐
pjblog中的UBBCode.js
Apr 25 Javascript
JavaScript获取图片的原始尺寸以宽度为例
May 04 Javascript
在线所见即所得HTML编辑器的实现原理浅析
Apr 25 Javascript
js时间戳格式化成日期格式的多种方法介绍
Feb 16 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
Apr 04 Javascript
jstree单选功能的实现方法
Jun 07 Javascript
探究react-native 源码的图片缓存问题
Aug 24 Javascript
Nuxt.js踩坑总结分享
Jan 18 Javascript
JS+CSS3实现的简易钟表效果示例
Apr 13 Javascript
使用apifm-wxapi模块中的问题及解决方法
Aug 05 Javascript
记一次用ts+vuecli4重构项目的实现
May 21 Javascript
解决vue下载后台传过来的乱码流的问题
Dec 05 Vue.js
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检测文件编码的函数
2014/04/21 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
jquery点击页面任何区域实现鼠标焦点十字效果
2013/06/21 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
js查找节点的方法小结
2015/01/13 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
2015/02/28 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
js判断复选框是否选中及选中个数的实现代码
2016/05/30 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
jQuery的$.extend 浅拷贝与深拷贝
2017/03/08 Javascript
H5实现中奖记录逐行滚动切换效果
2017/03/13 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
2017/08/16 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
JS判断数组里是否有重复元素的方法小结
2019/05/21 Javascript
vue 使用class创建和清除水印的示例代码
2020/12/25 Vue.js
Python基础之函数用法实例详解
2014/09/10 Python
Python中获取网页状态码的两个方法
2014/11/03 Python
一些Python中的二维数组的操作方法
2015/05/02 Python
Python与R语言的简要对比
2017/11/14 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
Zooplus葡萄牙:欧洲领先的网上宠物商店
2018/07/01 全球购物
留学生如何写好自荐信
2013/12/27 职场文书
体育课外活动总结
2014/07/08 职场文书
财务统计员岗位职责
2015/04/14 职场文书
2019年度政务公开考核工作总结模板
2019/11/11 职场文书