资讯专栏INFORMATION COLUMN

与JavaScript恋爱之数组(一)

fantix / 1426人阅读

摘要:一认识数组数组是值的有序集合。每一个值叫一个元素,每一个元素在数组中有一个位置,以数字表示,叫做索引。数组的索引类似于对象的属性名等价于每个实例数组都继承自中的属性。构造函数传入多个参数时参数为元素。

一、认识数组
数组是值的有序集合。每一个值叫一个元素,每一个元素在数组中有一个位置,以数字表示,叫做索引。第一个元素的索引为0,数组有一个length属性,为数组的元素个数,length比所有的元素的索引都要大。数组的元素可以是任意类型。数组的索引类似于对象的属性名:var arr=[1,2,3];arr[0]等价于arr["0"];每个实例数组都继承自Array.prototype中的属性。
1.new+构造创建数组:

//使用``new``+构造创建数组
//构造可以传一个或多个参数,当传入一个参数时:
//(1).一个参数且值为数字,则会规定该数组的length为1,数组里没有元素。
//(2).一个参数且补位数字时,则该数组的length为1,数组有唯一一个元素就是该参数。
//构造函数传入多个参数时:参数为元素。
var arr1=new Array(1);//arr1.length为1,arr1没有元素
var arr2=new Array("1");//arr2.length为1,arr2有一个元素"1",元素为string类型
var arr3=new Array("1","2",3,"abc",null,undefined);//arr3.length为6,有6个元素
var arr3=new Array({"name":"yang","age":"27"},[1,2,3],NaN);//还可以传入对象,数组,NaN

2.直接量创建数组:
var arr4=[1,2,3];
arr4[2];//3
 //给最后一个元素修改为不可配置,是数组无法添加新元素,数组元素可写:
Object.defineProperty(arr4,3,{
   configurable:false
});
arr[3]=4;
arr[3];//undefined
 //让一个元素只读:
Object.defineProperty(arr4,"0",{ //这里参数"0"为元素的索引,相当于属性名的意思
   writable:false
});
arr4[0]=0;
arr4[0];//索引为0的元素变为只读的
//让length属性变为只读的:
Object.defineProperty(arr4,"length",{
   writable:false
});
arr4.length=1;
arr4;//1,2,3不能用length属性删除某些元素

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/91361.html

相关文章

  • JavaScript恋爱数组(二)

    摘要:索引删除某个元素,数组不变理解数组是特殊的对象,转变成稍后章节中介绍数组的其他方法 一、数组元素的添加 var arr=[];//创建一个空数组 arr[0]=0;//给arr添加第一个元素 arr[0]=1;//修改arr第一个元素 arr.push(1);//给arr末尾添加一个元素 arr.unshift(-1);//给arr前面添加一个元素 二、数组元素的修改 var arr=...

    李增田 评论0 收藏0
  • JavaScript恋爱数组(三)

    摘要:一循环使用参数为对象,返回一个数组,为对象属性名的集合不可枚举的除外。 数组循环数组循环方法:for循环,forEach(),for/in。一、for循环1.使用Object.keys()参数为对象,返回一个数组,为对象属性名的集合(不可枚举的除外)。IE8+,然后使用for循环得到对象的值的集合。 var o={a:1,b:2,c:3}; Object.defineProperty(...

    mengera88 评论0 收藏0
  • JavaScript恋爱数组(四)

    摘要:参数传入一个函数,函数有一个参数指代数组元素。,其中是偶数方法只要有一个或多个满足条件都会返回参数参考返回一个布尔值。 数组方法1.join(),数组转字符串,原数组没有被修改。可选参数:一个字符串参数。数组的join()方法的实现:先把所有的单个元素都转成字符串,然后按照参数链接每单个元素,不传参数时,默认用,链接每单个元素。 var arr=[1,2,3,4,5]; var str...

    liaoyg8023 评论0 收藏0
  • JavaScript恋爱关于DOM对象相关的兼容封装(

    摘要:兼容获取指定对象下具有指定类名的对象参数为父节点对象,为类名当没有传入指定的父节点对象时默认获取下所有的指定类事件绑定兼容需要绑定事件的元素,事件类型,执行函数级及以下级 1、兼容获取指定DOM对象下具有指定类名的DOM对象 //参数:parentNode为父节点对象,className为class类名 //当没有传入指定的父节点对象时,默认获取document下所有的指定类 func...

    Shihira 评论0 收藏0
  • JavaScript恋爱对象序列化

    摘要:对象序列化是指对象状态转为字符串,也可以将字符串还原为对象。提供了和两个方法使用该方法序列化对象。只能序列化对象的可枚举的属性,对于一个不能序列化的属性将在对象序列化后生成的字符串中省略掉这个属性。 对象序列化是指对象状态转为字符串,也可以将字符串还原为对象。ECMAScript5提供了JSON.stringify()和JSON.parse()两个方法:1、JSON.stringify...

    includecmath 评论0 收藏0

发表评论

0条评论

fantix

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<