第三讲 JavaScript 引用类型即对象的讲解
3.1 object类型
大多数的引用类型都是object类型,使用最多。
object类型包含 属性 和 方法,有两种定义的方法:
var person=new Object ( ); -- ------ var person={
person.name=”June”; ---------- name : “June”;
person.age=”23”; ---------- - age : “23”; }
通常 我们 都使用后面一种方法定义。
调用object属性和方法:
alert(person.name); // “June”
3.2 Array 类型
array类型使用次数仅次于object类型。定义数组的方式也有两种:
var colors = new Array( );
colors[0]=”red”;
colors[1]=”green”;
colors[2]=”blue”;
var colors=new Array(“red “,”blue”,”green”);
判断数组长度的方法:
alert( colors.length);// 2
注:length妙用
colors[colors.length] = “black”;//在位置3添加黑色
colors[colors.length] = “brown”;//在位置4添加棕色
调用数组里面的值:
alert ( colors[0]) ; // blue
alert ( colors[3]); // undefined; 若该数组位置没定义值,返回 undefined
检测数组:
if(Array . isArray (colors )){
// Array.isArray( value ) 判断value是否为数组
//执行某些操作
}
3.2.1 转换方法
var colors=new Array(“red “,”blue”,”green”);
alert(colors.toString( ) ); //red,blue,green;返回以逗号连接的字符串
alert(colors.valueOf( ) );//red ,blue ,green;返回的就是数组本身
alert(colors.join(“||”);//red || blue || green; 使用join中的符号连接数组的值构成字符串
3.2.2 栈和队列方法
var colors=new Array(“red “,”blue”,”green”);
// 栈方法 后进先出
var colors1=colors.push(“black”); //push将black 推入数组
vat colors2=colors.pop( );//将刚才推入的black 推出数组 ,并取得最后一项,符合后进先出的规则
//队列方法 先进先出
var colors3=colors.push(“brown”);//向数组末端添加brown
var colors4=colors.shift( );//移除第一项red ,并取得第一项,即colors4=red.
var colors5=colors.unshift( “white”);//在数组前端推入 white
3.2.3 操作数组的一些方法
concat() 向原来的数组添加元素,组成一个新数组;
slice (n)指定一个参数时,返回大于等于n下标的数组元素;
slice (n1,n2)指定两个参数时,返回n1<= n < n2下表的数组元素;
splice()指定两个参数:要删除起始项的位置和要删除的项数,,例如splice (0 ,2),可以删除 0,1 两项。
splice()指定三个参数:起始位置,n(删除的项数)和要插入的项;例如splice(1 , 0,“red”)从当前数组为1的位置后面插入“red”,相当于插入作用;
例如splice(1, 1,“red”)删除当前位置为1的项然后插入“red”,相当于替换作用。
3.2.4 查找数组位置方法
indexOf(n),从前往后找n值为第几项
lastIndexOf( n ),从后往前找n值为第几项
两种方法如果都没找到n值,则返回-1.
3.2.5 迭代方法
every( function(){ } ) ,对数组中的每一项运行给定的元素,如果该函数对数组每一项都返回true,则返回true ;
some( function(){ } ) ,对数组中的每一项运行给定的元素,如果该函数对数组存在一项返回true,则返回true;
map( function(){ } ) ,对数组中的每一项运行给定的元素,返回每次函数调用的结果组成的数组;
filter( function(){ } ) ,对数组中的每一项运行给定的元素,返回该函数会返回true的项,组成的数组;
forEach( function(){ } ) ,对数组中的每一项运行给定的元素.没有返回值。
3.2.6 归并方法
reduce()和reduceRight(),这两个方法都会迭代数组所有的项,然后构建一个最终返回的值。
3.3 Data类型
定义:var time=new Date( );