javascript中,name和names作为数组名,数组长度为什么不一样?

问题描述

javascript中,name和names作为数组名,数组长度为什么不一样?
enter code here<head>
    <meta http-equiv="Content-Type"content="text/html";charset="utf-8">
    <script type="text/javascript">
        var names = ['张三','李四','王五','赵六'];
        var locals = ['张三','李四','王五','赵六'];

        document.write(names.length+',');
        document.write(locals.length);
    </script>
</head>

运行结果是:4,4

enter code here<head>
    <meta http-equiv="Content-Type"content="text/html";charset="utf-8">
    <script type="text/javascript">
        var name = ['张三','李四','王五','赵六'];
        var local = ['张三','李四','王五','赵六'];

        document.write(name.length+',');
        document.write(local.length);
    </script>
</head>

运行结果是:11,4
为什么会这样?name和names作为数组名到底有什么区别?

解决方案

这个应该是关键字造成影响了吧
var name = ['张三','李四','王五','赵六'];
for(i=0;i<name.length;i++){
document.writeln(name[i]);
}

你会发现返回的是:
张 三 , 李 四 , 王 五 , 赵 六

逐个分开的

然后你再输出这个看:

document.write(window.name)
你就知道返回的是 张三,李四,王五,赵六

这样你应该知道是关键字造成的了吧

因为正好window对象 有这么一个属性

时间: 2024-08-02 09:46:23

javascript中,name和names作为数组名,数组长度为什么不一样?的相关文章

JavaScript中splice函数

JavaScript中splice函数方法是从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素. arrayObj.splice( start, deleteCount, [item1[, item2[, . . . [,itemN]]]]) 其中arrayObj必选项.一个 Array 对象. start是必选项.指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的. deleteCount是必选项.要移除的元素的个数. item1, item2

JavaScript中对象的不同创建方法_javascript技巧

javascript中的对象与一般的面向对象的程序设计语言(c++,Java等)不同,甚至很少有人说它是面向对象的程序设计语言,因为它没有类.javaScript只有对象,不是类的实例.javascript中的对象是基于原型的. 1.1句点运算符创建 javascript中的对象实际上就是一个由属性组成的关联数组,属性由名称和值组成,值的类型可以是任何数据类型,或者函数和其他对象. 创建一个简单对象: var foo = {}; foo.prop_1 = 'bar'; foo.prop_2 =

指针数组和数组指针的详细解答

/**首先弄明白什么是指针数组,什么又是数组指针. 指针数组: 类型名 *数组名[数组长度] 如: int *p[8]; 因为优先级的关系,p先与[]结合,说明p是一个数组,然后再与*结合数组p 的元素是指向整型数据的指针.相当于定义了8个整型指针变量.在此,p就是 数组元素为指针的数组,本质为数组. 数组指针: 类型名 (*指针名)[数组长度] 如:int (*p)[8]; p先与*号结合,形成一个指针,该指针指向的是有8个整型元素的数组, p即为指向数组首元素地址的指针,其本质为指针. **

JavaScript中的Array 对象(数组对象)_javascript技巧

 1.创建Array对象方法: --->var arr = [1,2,3];//简单的定义方法 此时可以知道 arr[0] == 1; arr[1] == 2; arr[2] == 3; --->new Array(); var arr = new Array();//定义一个没有任何内容的数组对象,然后以下面的方式为其赋值 arr[0] = "arr0"; arr[1] = "arr1"; arr[2] = "arr2"; ---&

详解JavaScript中数组的相关知识_JavaScript

创建数组 js中数组的声明可以有如下几种方式: var arr = []; // 简写模式 var arr = new Array(); // new一个array对象 var arr = new Array(arrayLength); // new一个确定长度的array对象 要说明的是:     虽然第三种方法声明了数组的长度,但是实际上数组长度是可变的.也就是说,即使指定了长度为5,仍然可以将元素存储在规定长度之外,这时数组的长度也会随之改变. 此外,还需要明确的一点:     js是弱类

浅析JavaScript中的array数组类型系统_javascript技巧

前面的话 数组是一组按序排列的值,相对地,对象的属性名称是无序的.从本质上讲,数组使用数字作为查找键,而对象拥有用户自定义的属性名.javascript没有真正的关联数组,但对象可用于实现关联的功能 Array()仅仅是一种特殊类型的Object(),也就是说,Array()实例基本上是拥有一些额外功能的Object()实例.数组可以保存任何类型的值,这些值可以随时更新或删除,且数组的大小是动态调整的 除了对象之外,数组Array类型可能是javascript中最常用的类型了.而且,javasc

JavaScript中的数组特性介绍_javascript技巧

与Java语言不同,JavaScript中的数组拥有三个特性:   1.无类型.数组的成员可以是任何类型,同一个数组也可以由很多不同类型的成员所组成. 2.长度可变.数组的长度是可以动态变化的,因此在JavaScript中不存在数组访问的越界问题. 3.不连续性.数组中成员的位置可以是连续的(0, 1, 2, 3-),也可以是不连续的.任何数组都有一个名为length的属性,在数组成员连续的情况下,length值与数组成员数目一致:当数组成员不连续时,length值要大于数组成员的数目.与连续的

JavaScript中的类数组对象介绍_javascript技巧

JavaScript中,数组是一个特殊的对象,其property名为正整数,且其length属性会随着数组成员的增减而发生变化,同时又从Array构造函数中继承了一些用于进行数组操作的方法.而对于一个普通的对象来说,如果它的所有property名均为正整数,同时也有相应的length属性,那么虽然该对象并不是由Array构造函数所创建的,它依然呈现出数组的行为,在这种情况下,这些对象被称为"类数组对象".以下是一个简单的类数组对象: 复制代码 代码如下: var o = {0:42,

Javascript中函数名.length属性用法分析(对比arguments.length)_javascript技巧

本文实例分析了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