位置: 编程技术 - 正文
推荐整理分享JavaScript数组的一些奇葩行为(javascript数组的常用方法),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:javascript数组的常用方法,javascript数组的正确方法,javascript数组的本质,javascript数组的常用方法,javascript数组的应用,javascript数组的本质,javascript数组的本质,javascript数组的定义,内容如对您有帮助,希望把文章链接给更多的朋友!
在程序语言中数组的重要性不言而喻,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活、强大,不像是Java等强类型高级语言数组只能存放同一类型或其子类型元素,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改。
今天,复习了一下JavaScript的数组,然后,把他的一些奇葩行为总结了一下,在这里和大家share一下,如果有不对的地方,欢迎指出!
奇葩1:Array()构造器函数可以不使用new关键字进行调用:
Array()构造器使用传递给他的参数作为数组的元素,从而创建数组,一般的,我们是如下调用的:
但是,省略掉new也是可以的,如下:
虽然,我不知道他的内部实现机制是什么,但是,猜想他的构造器函数可能是如下定义的:
奇葩2:当只传一个参数给构造函数时,行为莫测
如果只传一个参数,并且这个参数是一个整数,将会得到一个数组,并且length等于这个参数
如果只传一个浮点数,就会报错:
传递一个字符串就会正常工作,并且该字符串作为数组的第一个元素:
但是为了避免二义性,我建议最好是是直接使用字面量的形式创建数组:
奇葩3:数组的length属性可以被修改(可写)
如下,我们直接把本来是2的length改成了,而且还修改成功了!!!
虽然length等于,但是,元素a[4]-a[]是不存在的,并且如果你请求他们的值的话,例如,从0到a.length做一个循环中做的话,那么会得到undefined。
接下来再看:
与下面的例子有点相似:
不同之处在于,这里的a[]存在了,因为我们创建了它,即使他拥有的是undefined的值。但是从a[4]到a[]的所有元素则是不存在的,如下:
以上所述给大家分享了JavaScript数组的一些奇葩行为,文章写的不好还请见谅,谢谢!
理解JavaScript表单的基础知识 HTMLFormElement继承了HTMLElement,它自己独有的属性和方法有:acceptCharset:服务器能够处理的字符集,等价于HTML的accept-charset特性action:接收请求的URL,等价
javascript产生随机数方法汇总 script2functionGetRandomNum(Min,Max){varRange=Max-Min;varRand=Math.random();return(Min+Math.round(Rand*Range));}8varnum=GetRandomNum(1,);9alert(num);/scriptvarchars=['0','1','2','3','4','5','6','7',
学习JavaScript事件流和事件处理程序 本文全篇介绍了JavaScript事件流和事件处理程序,分享给大家供大家参考,具体内容如下一、事件流事件流描述的是从页面中接收事件的顺序。IE的事件
友情链接: 武汉网站建设