JavaScript function 的 length 属性使用介绍
[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中function 的 length 属性
[1,2,3].length 可以得到 3, "123".length 也可以得到 3,这个略懂js的都知道. 但是 eval.length,RegExp.length,"".toString.length,1..toString.length 会得到什么呢? 分别得到 1,2,0,1,这些数字代表什么呢? 这个是群里很多新人朋友一直问的一个问题,其实函数的 length 得到的是形参个数.我们来简单看个例子: 复制代码 代码如下: function tes
-
JavaScript Length 属性的总结
关于javascript length属性的总结请看以下内容详解. 一.StringObject中的length length属性是返回字符串的字符数目. 例如: // 普通字符串 var str = "abcdef"; console.log(str.length); // 6 // 数组 var str1 = new Array(1,2,3,4); console.log(str1.length); // 4 // 数组与字符串 var str2 = str1 + str; //
-
Javascript中函数名.length属性用法分析(对比arguments.length)
本文实例分析了Javascript中函数名.length属性用法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&g
-
JavaScript中length属性的使用方法
此属性返回字符串中的字符数. 语法 string.length 下面是参数的详细信息: A string 返回值: 返回字符串中的字符数. 例子: <html> <head> <title>JavaScript String length Property</title> </head> <body> <script type="text/javascript"> var str = new Strin
-
javascript中length属性的探索
例子1: 复制代码 代码如下: var obj={0:'a',1:'b'} alert(obj.length); //undefined var arr=['a','b'] alert(arr.length); // 2 从上面的例子看,类数组对象中的length属性并不和它储存的数据数量直接挂钩,无论是索引属性(0,1)还是length属性都作为对象的普通属性存在,它们之间并没有任何关系,js引擎并不会根据储存数据的数量来自动计算类数组对象的长度. 但是类数组对象的length所确实和存储的数
-
js利用数组length属性清空和截短数组的小例子
1.使用length清空数组: 复制代码 代码如下: <script> var arr1 = ['aaa','bbbb','http://www.jb51.net']; alert(arr1); arr1.length = 0; alert(arr1); //数组为空</script> 2.使用length截短数组: 复制代码 代码如下: <script> var arr1 = ['aaa','bbbb','c','d','e'];
-
TextArea设置MaxLength属性最大输入值的js代码
标准的DHTML文档中TEXTAREA的MAXLENGTH属性默认情况下不起作用,只有当事件发生时才起作用 如下:http://spiderscript.net/site/spiderscript/examples/ex_textarea_maxlength.asp 但TEXT中有且起作用<input type="text" maxlength="20">, 那么在TEXTAREA中怎么实现输入内容不能超过多少个字符呢. 方法1.如果只需要截取多少个字符
-
Javascript学习笔记之数组的遍历和 length 属性
尽管数组在 Javascript 中是对象,但是不建议使用 for in 循环来遍历数组,实际上,有很多理由来阻止我们对数组使用 for in 循环. 因为 for in 循环将会枚举原型链上的所有属性,并且唯一阻止的方法是使用 hasOwnProperty 来判断,这将比普通的 for 循环要慢不少. 遍历 为了达到最佳性能来遍历一个数组,最好的方式就是使用经典的 for 循环. 复制代码 代码如下: var list = [1, 2, 3, 4, 5, ...... 100000000];
-
JavaScript function 的 length 属性使用介绍
[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) {} tes
-
javascript数组操作方法小结和3个属性详细介绍
最近一直在用js,好好研究了下js数组的操作,在这里总结一下. 1.数组的创建 复制代码 代码如下: var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度
-
JavaScript prototype属性深入介绍
每个函数创建时默认带有一个prototype属性,其中包含一个constructor属性,和一个指向Object对象的隐藏属性__proto__.constructor属性的值为该函数的对象.在一个函数前面加上new来调用,则会创建一个隐藏连接到该函数prototype成员的新对象(由__proto__属性来链接),同时函数的this将会被绑定到那个新对象上. 函数总是返回一个值:如果没有指定返回值,就返回undefined:如果当做构造函数来调用,且返回值不是对象,则返回this(该新对象):
-
JavaScript Function函数类型介绍
// 在JS中,Function(函数)类型实际上是对象;每个函数都是Function类型的实例;而且都与其他引用类型一样具有属性和方法; // 由于函数是对象,因此函数名实际上也是一个指向函数对象的指针; 一 函数的声明方式 1.函数声明方式 function box(num1,num2){ return num1+num2; } 2.函数表达式定义函数 var box = function(num1,num2){ // 通过变量box即可引用函数; return num1+num2; };
-
JavaScript 中 avalon绑定属性总结
avalon是前端MVVM框架,将所有前端代码彻底分成两部分,视图的处理通过绑定实现(angular有个更炫酷的名词叫指令),业务逻辑则集中在一个个叫VM的对象中处理.我们只要操作VM的数据,它就自然而然地神奇地同步到视图. $model(所有非$属性),$event(事件对象) 1.作用域圈定 ms-controller:按着就近原则自下而上扫描DOM树 ms-important:仅扫描本节点及之下作为扫描区 ms-skip:使绑定失效 2.ms-duplex双向绑定属性:除了绑定(VM同步数
随机推荐
- 详解QEMU网络配置的方法
- js中 计算两个日期间的工作日的简单实例
- JavaScript基础教程——入门必看篇
- C#书写规范
- python使用super()出现错误解决办法
- access改mdb为asp所带来的灾难 附mdb防下载方法
- JavaScript 拖拽翻页效果代码
- php构造方法中析构方法在继承中的表现
- AJAX初体验之实战篇——打造博客无刷新搜索
- 开始研究Ajax. 第一天
- jQuery插件HighCharts绘制2D带Label的折线图效果示例【附demo源码下载】
- js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
- JavaWeb之Filter过滤器详解
- jquery CSS选择器笔记
- C++获取类的成员函数的函数指针详解及实例代码
- python初学之用户登录的实现过程(实例讲解)
- 谷歌技术人员解决Docker镜像体积太大问题的方法
- 基于python框架Scrapy爬取自己的博客内容过程详解
- ThinkPHP框架下微信支付功能总结踩坑笔记
- Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能