有趣的JavaScript数组长度问题代码说明_javascript技巧

第一点:

复制代码 代码如下:

var lennon=Array();
lennon["name"]="windy";
lennon["year"]="1989";
lennon["living"]=true;
alert(lennon.length);

结果:lennon.length 为 0
   
原因:
用以下方式增加数组元素,将不改变数组的长度
arr["a"]=3;
第二点:

复制代码 代码如下:

var foo2 = [];
foo2['3'] = 3;
foo2['age'] = 20;
debugger;
alert(foo2.length);


foo2.length又是为4

所有没有赋值的数组对象,都将被定义为undefined
JavaScript可以自动重新调整数组的大小,这种自动调整大小的机制,更容易出现越界数组(out of bounds array),而且更难发现。所以要加倍注意类似的情况。

时间: 2024-11-16 06:22:18

有趣的JavaScript数组长度问题代码说明_javascript技巧的相关文章

JavaScript数组和循环详解_javascript技巧

数组是元素的一个有序组合.在JavaScript中,数组可以使用正式的对象表示法来创建,或者可以使用直接量表示法来初始化. 复制代码 代码如下: var arrObject = new Array("val1", "val2"); // 作为对象的数组 var arrLiteral = ["val1", "val2"]; // 数组直接量 对于开发者来说,这没有区别:在直接量和对象上都可以调用一个Array方法.对于JavaS

JavaScript数组的一些奇葩行为_javascript技巧

在程序语言中数组的重要性不言而喻,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活.强大,不像是Java等强类型高级语言数组只能存放同一类型或其子类型元素,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改. 今天,复习了一下JavaScript的数组,然后,把他的一些奇葩行为总结了一下,在这里和大家share一下,如果有不对的地方,欢迎指出!

Javascript数组与字典用法分析_javascript技巧

本文实例分析了Javascript数组与字典用法.分享给大家供大家参考.具体分析如下: Javascript 的数组Array,既是一个数组,也是一个字典(Dictionary). 先举例看看数组的用法. 复制代码 代码如下: var a = new Array();  a[0] = "Acer";  a[1] = "Dell";  for (var i in a) {      alert(i);          } 上面的代码创立了一个数组,每个元素都是一个字

JavaScript数组合并的多种方法_javascript技巧

这是一篇简单的文章,关于JavaScript数组使用的一些技巧.我们将使用不同的方法结合/合并两个JS数组,以及讨论每个方法的优点/缺点. 让我们先考虑下面这情况: var a = [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]; var b = [ "foo", "bar", "baz", "bam", "bun", "fun" ]; 很显然最简单的结合结果应该是: [ 1

javascript数组去重的方法汇总_javascript技巧

四种算法来实现这个目的: 第一种: Array.prototype.unique1 = function () { var n = []; //一个新的临时数组 for (var i = 0; i < this.length; i++) //遍历当前数组 { //如果当前数组的第i已经保存进了临时数组,那么跳过, //否则把当前项push到临时数组里面 if (n.indexOf(this[i]) == -1) n.push(this[i]); } return n; } 第二种: Array.

JavaScript数组对象赋值用法实例_javascript技巧

本文实例讲述了JavaScript数组对象赋值用法.分享给大家供大家参考.具体如下: 这里JavaScript数组对象的使用会使你的JS程序变得简洁而有效率,但是好像不少新手都不喜欢用数组,因为觉得它们抽象,不好理解,其实只要你认真领悟,它就像捅破窗户纸一样,令你豁然开朗.希望通过本实例,你对数组会有更多的理解. 运行效果图如下: 具体代码如下: <html> <head> <meta http-equiv="content-type" content=&

javascript数组去重方法终极总结_javascript技巧

有时会碰上这种需求,需要将数组中重复的元素删除掉,而只保留一个.最先想到的办法很可能就是用2个for循环来做比较然后去除掉重复的元素,代码如下所示: 方法1: 复制代码 代码如下: Array.prototype.distinct = function(){ var arr = [],      len = this.length;  for ( var i = 0; i < len; i++ ){  for( var j = i+1; j < len; j++ ){   if( this[i

javascript里使用php代码实例_javascript技巧

本文实例讲述了javascript里使用php代码的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <script type="text/javascript" > <?php if (!empty($searchResult)):?> $.searchModule.init({display:<?php echo MAX_KEYWORDS_DISPLAY_COUNT; ?>, mode:<?php echo $searc

JavaScript 数组的深度复制解析_javascript技巧

对于javascript而言,数组是引用类型,如果要想复制一个数组就要动脑袋想想了,因为包括concat.slice在内的函数,都是浅层复制.也就是说,对于一个二维数组来说,用concat来做复制,第二维的数组还是引用,修改了新数组同样会使旧数组发生改变.     于是乎,想要写一个深度复制的函数,来帮助做组数的深度复制. 一般情况下,使用 "=" 可以实现赋值.但对于数组.对象.函数等这些引用类型的数据,这个符号就不好使了. 1. 数组的简单复制 1.1 简单遍历 最简单也最基础的方