首页 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
资讯 业界资讯 软件杂谈 编程开发 网站建设 网络观查 搜索引擎 移动应用 网站运营 网络地图
开发 移动开发 Web前端 架构设计 编程语言 互联网 数据库 系统运维 云计算 开发杂谈
[Web前端] javascript那些事儿(一)javascript数组用法总结(1)
javascript那些事儿(一)javascript数组用法总结(1)
/*
1、js数组跟其他语言的数组一样,都是数据的有序列表,但不同的是,js数组的每一项可以保存任何类型的数据。
并且js数组的大小是可以动态调整的。

2、创建数组方式:
*/

//(1)使用Array构造函数创建数组:
//var names = new Array();

//创建length=30的数组
//var names = new Array(30); //如果预先知道数组长度,可直接传入数值 
//alert(names.length);  //30

//也可以像Array构造函数传递数组应该包含的项:
//var names2 = new Array("zhangsan","lisi","wangwu");
//alert(names2); //zhangsan,lisi,wangwu

//给Array构造函数传递一个值也可以创建数组
//var ages = new Array(2);  //创建包含两项的数组
//var ages = new Array("11"); //创建包含1项,即字符串“11”的数组

//可以省略new操作符
//var books = Array(2);//创建包含两项的数组
//var books = Array("books1");创建包含1项,即字符串“books”的数组


//(2) 使用数组字面量表示法创建数组:数组字面量由一对包含数组项的方括号表示,多个数组项之间用逗号隔开
//var names = ["zhangsan","lisi","wangwu"];  //创建一个包含3个字符串的数组
//var names = []; // 创建一个空数组

//在数组最后一项添加逗号的结果:

//在其他浏览器中会创建包含2项且值分别为"zhangsan","lisi"的数组
//在IE中,names会创建包含3项,值分别为“zhangsan","lisi",undefined的数组,
//原因在于IE8及之前版本的ECMAScript实现在数组字面量方面存在BUG
//var names = ["zhangsan","lisi",];
//alert(names); //IE9下报错,IE8及以下:zhangsan,lisi,
//alert(names.length);


//像这种省略值情况下,每一项都是undefined值。
//var names = [,,,,,];
//alert(names.length); //5:在及其他浏览器中创建包含5项的数组
//alert(names.length);  // 6:  在IE版本中创建包含6项的数组
//alert(names[5]); //undefined


//读取设置数组值
//var colors = ["red","green","blue"];
//alert(colors[0]);  //显示第一项
//colors[2] = "pink";  //修改第三项
//alert(colors); // red,green,pink

//colors[3] = "black"; //增加第四项,设置某个值的索引超过了数组长度,则数组长度自动加1
//alert(colors); //red,green,pink,black


//3、length属性:>=0  ,length属性不是只读的,可以通过设置length属性来从数组末尾移除项或向数组中添加项
//var colors = ["red","green","blue"];
//colors.length = 2;  
//alert(colors[2]);  //undefined

//var colors = ["red","green","blue"];
//colors.length = 4;  
//alert(colors[3]);  //undefined

//var colors = ["red","green","blue"];
//colors[colors.length] = "black";
//colors[colors.length] = "pink";
//alert(colors);  //red,green,blue,black,pink

//var colors = ["red","green","blue"]
//colors[99] = "black";
//alert(colors.length); // 100  ,colors[3]到color[98]都是undefined

//4、数组类型判断 

//对于一个网页或一个全局作用域,instanceof假定单一的全局执行环境
//var colors = ["red","green","blue"];
//var obj = {};
//alert(colors instanceof Array); //true
//alert(obj instanceof Array); // false

//对于网页中包含多个框架,则就存在多个不同的全局执行环境,从而存在多个不同版本的Array构造函数,
//那么从一个框架向另一个框架传入一个数组,则传入的数组与第二个框架中的数组则分别具有不同构造
//为了解决这个问题,则须采用Array.isArray()方法

//var colors = ["red", "green", "blue"];
//var obj = {};
//alert(Array.isArray(colors)); //true
//alert(Array.isArray(obj)); //false

//兼容性:支持isArray方法的浏览器有: IE9+,其他浏览器


//5、toString(): 返回数组每一项用逗号分隔的字符串,调用数组每一项的toString()方法
//valueOf(): 返回数组
//var colors = ["red", "green", "blue"];
//alert("toString="+colors.toString()); //red,green,blue
//alert(colors); //alert接收字符串参数,传递给它的是数组,因此在后头会调用Array的toString()方法
//alert("valueOf="+colors.valueOf()); 
//alert(Array.isArray(colors.valueOf())); //true

//toLocaleString():  返回数组每一项用逗号分隔的字符串,调用每一项的toLocaleString()方法,而不是toString()方法
/*
var book1 = {
	toString : function(){
		return "book1.toString()";
	},

	toLocaleString : function(){
		return "book1.toLocaleString()";
	}

};
var book2 = {
	toString : function(){
		return "book2.toString()";
	},

	toLocaleString : function(){
		return "book2.toLocaleString()";
	}

};
var book = [book1,book2];
alert(book); //book1.toString(),book2.toString()
alert(book.toString); //function toString(){[natice code]}
alert(book.toString());//book1.toString(),book2.toString()
alert(book.toLocaleString());//book1.toLocaleString(),book2.toLocaleString()
*/

//join(): 接收一个作为分隔符的参数, 返回由分隔符分隔的字符串,
//var colors = ["red^", "green^", "blue^"];
//alert(colors.join(','));//red^,green^,blue^
//alert(colors.join('|'));//red^|green^|blue^
//alert(colors.join()); //默认以逗号分隔: red^,green^,blue^
//alert(colors.join(undefined));//在IE8+及其他浏览器中显示:red^,green^,blue^
//alert(colors.join(undefined)); //在IE7及以下版本显示:red^undefinedgreen^undefinedblue^

//如果数组中的某一项值为null或undefined,则该值在join()\valueOf()\toString()\toLocaleString()都返回空字符串
//var names = ["zhangsan",null,undefined,"lisi"];
//alert(names); //zhangsan,,,lisi


//push():  接收任意数量参数,添加到数组末尾,返回修改后数组长度
//var names = new Array();
//var num = names.push("zhangsan","lisi");
//alert(num); //2
//num = names.push("wangwu");
//alert(num); //3
//var item = names.pop();
//alert(item); //wangwu

//shift() : 移除数组第一项并返回
//var colors = ["red","green","blue"];
//var item = colors.shift();  //移除第一项并返回
//alert(item);
//alert(colors.length); //2

//unshift() : 在数组前端添加任意个项并返回数组新长度,对于IE7及更早版本,unshift返回undefined而不是数组长度
//var colors = ["red","green","blue"];
//var count = colors.unshift("aaa","bbb");
//alert(colors);//"aaa","bbb","red","green","blue"
//alert(count);//5













 此文从网络中自动搜索生成,不代表本网站赞成被搜索网站的内容或立场    查看原文
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 新闻资讯 小游戏 Chinese Culture 股票 三丰软件 开发 中国文化 网文精选 阅读网 看图 日历 万年历 2018年11日历
2018-11-15 22:57:21
 
  网站联系 软件世界网-www.sjsjw.com ©2014 蜀ICP备06016416号 三峰网旗下网站