一、数组
1、通常情况下,一个变量只能有一个值,若想拥有多个值,就需要使用数组,换句话来说,数组是一个特殊的容器,它可以根据需求存放一个或者多个值。
2、数组可以用关键字Array来声明,声明的同时,可以设定它的长度length。
var myArray = Array(3); document.write(myArray.length); //输出3
3、我们可以在声明数组的同时对它进行填充,也可以在声明之后进行填充,当然,我们需要对新填充的值指定存放位置,需要注意下标是从0开始计数的。
JavaScript(1)var myBooks = Array("JavaScript ","canvas"); document.write(myBooks+'<br/>'); //输出JavaScript canvas 并换行 document.write(myBooks[0]+'<br/>');//输出JavaScript 并换行 var myArray = Array(); myArray[0] = "筱雨生"; document.write(myArray); //输出筱雨生
4、还有一种不需要通过Array关键字来创建数组的方式
var myArray = ['Marry',24,true]; alert(typeof(myArray)); //object alert(typeof(myArray[0])); //string alert(typeof(myArray[1])); //number alert(typeof(myArray[2])); //boolean document.write(myArray[0]); //输出Marry
5、下面还有一种比较特殊的创建方法,它的下标不是数字,而是String
var iMac = Array(); iMac['Name'] = 'Jobs'; iMac['year'] = 1955; iMac['living'] = false; console.log(iMac); //[Name: "Jobs", year: 1955, living: false]
没错,这种方法的可读性较强,但是它并不是一个Good Habit。
二、对象
1、对象与数组比较相似,也是用一个变量来表示一组值,JavaScript对象通常是用关键字Object来声明的。
var myObj = Object(); myObj.name = "Tatsuya"; myObj.year = 1990; alert(typeof(myObj)); //输出Object
2、创建对象的方式不是唯一的,下面这个方法更加高效,即花括号语法:{ propertyName:value, propertyName:value }
var myObj = { name:"Tatsuya", year:1990}; alert(typeof(myObj)); //输出Object
由上面的两个例子,我们可以发现对象与数组之间的微妙关系,这种微妙关系具体怎么去描述呢,有待我们去验证。
3、对象中的属性与变量的命名规则有相同之处,属性值可以是任何JavaScript值,包括其他对象。
var myObj = {}; myObj.name = 'Tatsuya'; myObj.book = []; myObj.year = 1900; myObj.childObj = {}; console.log(typeof(myObj)); //object console.log(typeof(myObj.name)); //string console.log(typeof(myObj.book)); //object console.log(typeof(myObj.year)); //number console.log(typeof(myObj.childObj)); //object
4、到现在,我们可以了解到,数组可以放入对象里,对象还可以放入对象里,其实,对象也可以放入到数组中,下面我们做进一步的验证。
var myObj = { name:"Tatsuya", year:1990, living:true } alert(typeof(myObj)); //输出Object var myArray = Array(); myArray.push(myObj); //var myArray = [myObj]; alert(typeof(myArray));//输出Object
三、题外话
日复一日,年复一年,点点滴滴,日久生情……