浅析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实现计算加载页面所用的时间
Apr 02 Javascript
关于JavaScript定义类和对象的几种方式
Nov 09 Javascript
jquery属性过滤选择器使用示例
Jun 18 Javascript
javascript鼠标右键菜单自定义效果
Dec 08 Javascript
JavaScript程序中实现继承特性的方式总结
Jun 24 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
Dec 26 Javascript
js 轮播效果实例分享
Dec 28 Javascript
通过AngularJS实现图片上传及缩略图展示示例
Jan 03 Javascript
详解Angular.js中$http拦截器的介绍及使用
Jul 04 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
Sep 28 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
Jan 09 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
Feb 26 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 extract 将数组拆分成多个变量的函数
2010/06/30 PHP
解析PHP实现多进程并行执行脚本
2013/06/18 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
php文件上传简单实现方法
2015/01/24 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
2015/07/28 Javascript
JS实现的简洁二级导航菜单雏形效果
2015/10/13 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
超实用的JavaScript代码段 附使用方法
2016/05/22 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
js计算两个日期间的天数月的实例代码
2018/09/20 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
Python实现的矩阵转置与矩阵相乘运算示例
2019/03/26 Python
python保存字典和读取字典的实例代码
2019/07/07 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
使用Python脚本从文件读取数据代码实例
2020/01/19 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
HTML5 CSS3新的WEB标准和浏览器支持
2009/07/16 HTML / CSS
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
建筑项目策划书
2014/01/13 职场文书
给校长的建议书300字
2014/05/16 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
公司出差管理制度范本
2015/08/05 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
总结几个非常实用的Python库
2021/06/26 Python
JavaScript中isPrototypeOf函数
2021/11/07 Javascript