JavaScript引用类型之Array类型一
一、简介
除了Object之外,Array类型恐怕是ECMAScript中最常用的类型了。下面就来分析ECMAScript中的数组与其他语言中的数组的异同性:
1、相同点:
(1)他们都是数据的有序列表
(2)语法和作用都类似
2、不同点:
(1)Array数组中的每一项可以保存任何类型的数据。也就是说,可以用数组的第一个位置来保存字符串,用第二位置来保存数值,第三个位置来保存对象的指针
(2)Array数组的大小是可以动态调整的(部分其他的语言也有此特性),即随着数组中数据的添加自动增长以容纳新增数据。
二、使用方式和相关方法介绍
1、创建数组实例的方式有两种:
1.1 第一种:使用new和Array构造函数,代码如下:
var colors=new Array();
1.1.1
我们可以在创建数组实例的同时给该实例限定长度,代码如下:
var colors=new Array(20);
这样就创建了一个长度为20的数组。
1.1.2
我们也可以在创建数组的同时给他初始化,代码如下:
var colors=new Array("red","blue","green");
1.2 第二种方式是使用Array构造函数不使用new操作符,代码如下:
var colors=Array("red","blue","green");
1.3第三种方式使用数字字面量表示法(和Object类型的字面量表示法一样)。代码如下:
var colors=["red","blue","green"];
var colors=[]; //创建了一个空数组
这里注意:通过对象字面创建的数组在创建时就不会调用Array构造函数了,这与Object引用类型创建实例使用对象字面量法一样它也不会调用Object构造函数!
2、Array数组操作
1、下面通过代码来讲解下Array数组的基本操作:
var colors=["red","blue","green"]; //定义一个字符串数组
alert(colors[0]); //显示第一项
colors[2]="black"; //修改第三项
colors[3]="brown"; //新增第四项
但是有一点需要注意,如下代码:
var colors=["red","blue","green"];
colors.length=2;
alert(colors[2]); //输出:undefined
分析上面代码,当使用对象字面量定义了colors数组时,其初始长度是3,当我们修改其长度为2时,这是第三项就会被砍掉,然后我们在输出第三项,就会输出"undefined";
上面代码是将长度缩小的情况,下面来分析如果将长度增加的情况,如下代码:
var colors=["red","green","blue"];
color.length=4;
alert(colors[3]); //输出:undefined
分析上面的代码:初始化定义的长度为3,当将其长度设为4时,那么新增的那项的值就会被设为"undefined",新增的每一项都是!
2、检测数组的方式
在一些特殊应用开发中,我们经常需要判断一个对象是不是一个数组,所以ECMAScript 5提供了两种方法来判断一个对象是不是数组
(1)对一个全局作用域而言,使用instanceof操作符就能得到满意的结果,代码如下:
if(value instanceof Array){
//对数组执行某些操作
}
(2)上面的判断方法是基于一个全局作用域下的,但是有些网页可能包含多个框架,那实际上就存在两个以上不同的全局执行环境,从而存在两个不同版本的Array构造函数。如果你从一个框架向另一个框架传入一个数组,但是两个框架有各自的Array构造函数!
所以为了解决这个问题,ECMAScript 5中新增了Array.isArray()方法。这个方法的作用是判断一个值到底是不是数组,而不管它实在哪个全局环境中创建的。代码如下:
if(Array.isArray(value)){
//对数组执行某些操作
}
注意:第二个方法有浏览器限制!
JavaScript引用类型之Array类型一的更多相关文章
- JavaScript引用类型之Array类型API详解
Array类型也是ECMASCRIPT中最常见的数据类型,而且数据的每一项可以保存任何类型的数值,而且数组的大小是可以动态调整的,可以随着数据的添加自动增长以容纳新的数据.下面,总结数据的一些常用方法 ...
- 从头开始学JavaScript (十二)——Array类型
原文:从头开始学JavaScript (十二)--Array类型 一.数组的创建 注:ECMAscript数组的每一项都可以保存任何类型的数据 1.1Array构造函数 var colors = ne ...
- JavaScript引用类型和值类型
thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>t ...
- 理解javascript中的Array类型
引子: 从事前端开发有段时间了,个人观点:想在前端开发这条路上走的更远,不仅要学好HTML&HTML5.CSS&CSS3,最重要的就是要学好javascript了.所以打好javasc ...
- 引用类型之Array类型
Array类型 ECMAScript数组与其它语言数组一样,都是数据的有序列表.但是ECMAScript数组的每一项可以保存任何类型的数据.而且,ECMAScript数组是可以动态调整的. 1.创建和 ...
- JavaScript引用类型之Array数组的栈方法与队列方法
一.栈方法 ECMAScript数组也提供了一种让数组的行为类似与其他数据结构的方法.具体的来说,数组可以变现的向栈一样,栈就是一种可以限制插入和删除向的数据结构.栈是一种LIFO(Last In F ...
- javascript数据类型之Array类型
Array类型 除了Object之外,Array类型恐怕是ECMAScript中最常用的类型了.而且,ECMAScript中的数组与其他多数语言中的数组有着相当大的区别.虽然ECMAScript数组与 ...
- JavaScript之引用类型(Array类型)
除了Object类型,Array是ECMAScript中最常用的类型了. 与其他语言不同的是,ECMAScript数组的每一项可以保存任何类型的数据. 而且,ECMAScript数组的大小是可以动态调 ...
- JavaScript引用类型之Array数组的toString()和valueof()方法的区别
一.转换方法 1.在JavaScript中几乎所有对象都具有toLocaleString().toString和valueof()方法,因为,所有的对象都继承自Object,而前面所说的方法都是Obj ...
随机推荐
- 收敛 p75
三种收敛.中心极限定理.大数定理.delta方法
- c++ - How to use wstring and wcout to output Chinese words in Xcode? - Stack Overflow
c++ - How to use wstring and wcout to output Chinese words in Xcode? - Stack Overflow How to use wst ...
- Java DES 加密和解密源码(转)
原文地址:http://www.oschina.net/code/snippet_727646_18383 Java密码学结构设计遵循两个原则: 1) 算法的独立性和可靠性. 2) 实现的独立性和相互 ...
- 递推计数-hdu-4747-Mex
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4747 题目大意: 给n个数,求所有区间内没有出现的最小非负整数和. 解题思路: 首先感谢大神博客:h ...
- poj2503
有关字符串的hash,用黑书上推荐的传说中的ELFhash函数 输入的话,用sscanf处理比較简洁 #include<iostream> #include<cstring> ...
- jquery.ellipsis.js段落超出省略号插件
为了实现在段落尾部超出文字替换为省略号,自己写的插件,并作了简单的优化. 下面给出脚本演示页面及注释,在此之前介绍一下插件参数 1.lineNum:数字.限制段落的行数 2.english:布尔.英文 ...
- Dell 2950服务器CPU-E1422错误解决方法
.造成原因:CPU松动或者是硅胶损耗 .解决方法: .断掉电源,将其后盖打开(在手没有静电的情况下操作) .拔掉周围的排热扇 .按住关卡,将其CPU卸下:并使用清洁剂清理,再次给CPU上涂上硅胶(均匀 ...
- iOS进阶:Objective-C runtime(一)
第一次看到runtime时,觉得太高大上,动态获取方法.属性等简直厉害的不要不要的.在经过查找资料+实践后,发现runtime并没有想象中那么复杂,接下来对runtime进行基本的介绍. 要使用运行时 ...
- How to Use the UTL_MAIL Package
APPLIES TO: PL/SQL - Version 10.1.0.2 and laterInformation in this document applies to any platform. ...
- C 运算符与表达式
运算(操作)是对数据的加工.最基本的运算形式常常可以用一些简洁的符号来记忆,这些符号称为运算符或操作符.被运算的对象-数据称为运算量或操作数.表达式描述了对哪些数据.以什么顺序以及施加什么样的操作.运 ...