标签:class blog c code java http
本文来自:http://www.cnblogs.com/googny/p/3747832.html
有一段时间不更新博客了,今天分享给大家的是一篇关于JS数组的,数组其实比较简单,但是用法非常灵活,在工作学习中应该多学,多用,这样才能领会数组的真谛。
以下知识主要参考《JS 精粹》和《JavaScript 高级程序设计》。
数组是一段线性分配的内存,它通过整数计算偏移并访问其中的元素。JavaScript 没有像此类数组一样的数据结构。
它提供了一些类数组特性的对象,它把数组的下标转变为字符串,用其作为属性。
var arr = new Array(); var arr1 =[]; // 创建两个空数组
每个数组都有一个 length 属性。JavaScript 数组的 length 是没有上界的。
length 属性的值是这个数组最大整数属性名加上1.它不一定等于数组里的属性的个数。
var arr = []; arr.length; // 0 arr[100] = true; arr.length; // 101 // arr只包含一个属性
length值不是只读的,可以设定length的值。
设置更大的length不会给数组分配更多的空间。
而把length 设小将导致所有下标大于等于新length 的属性被删除。
JavaScript 数组就是对象,可以使用 delete 运算符删除数组中的元素。
delete numbers[2]; // numbers 是 [‘zero‘,‘one‘,undefined,‘three‘]
被删除的元素变成undefined。并不会将后面的元素依次前移。
对于一个网页或一个全局作用域而言,使用 instanceof 操作符就能得到满意的结果。
if (value instanceof Array) { // do sth with array }
如果实际中有两个全局环境的话,就存在两个不同版本的Array 构造函数,如果你从一个框架向另一个框架传入一个数组,
那么传入的数组与第二个框架中原生创建的数组分别具有各自不同的构造函数。
为了解决这个问题,ECMAScript 5 新增了Array,isArray() 方法。
if (Array.isArray(value)) { // do sth with array }
深入浅出 JavaScript 数组 v0.5,布布扣,bubuko.com
标签:class blog c code java http
原文地址:http://www.cnblogs.com/zhouyunbaosujina/p/3750157.html