javascript学习笔记——引用类型

1.Object类型

①创建实例的方式:

a.使用new操作符

var person =new Object();
person.name="amy";
person.age=20;

b.对象字面量表示法:

var person={
name:"amy",
age:29     //属性名也可以使用字符串
};

②Object类型是所有对象的基础,所有对象都拥有该类型基本的属性和方法

③属性和方法

2.Array类型

数组的每一项可以保存任何类型的数组,大小可以动态调整

①创建数组的方式:

var colors=new Array();  //new操作符也可以省略
var colors=new Array(20);
var colors=new Array("red","green","blue");

var colors=[];  //创建空数组
var colors=["red","green","blue"];   //使用数组字面量表示法

②length属性

var colors=["red","green","blue"];
alert(colors.length);  //访问数组长度
colors.length=2;    //移除数组最后一项
colors[colors.length]="black";  //在数组末尾增加一项

③转换方法

var colors=["red","green","blue"];
alert(colors.toString());//返回以逗号连接的字符串
alert(colors.valueof()); //返回数组,数组的每一项都调用toString(),最后变成字符串
alert(colors.join("||"));//如果join没有参数或者是undefined,则返回结果用逗号分隔

④栈方法(先进后出)

var colors=new Array();
colors.push("red");   //push()可以在数组末尾添加任意数量的数值
colors.push("blue","green");
var item=colors.pop();   //在数组末尾移除最后一项
alert(item);   //green

⑤队列方法(先进先出)

var colors=new Array();
colors.push("red");   //push()可以在数组末尾添加任意数量的数值
colors.push("blue","green");
var item =colors.shift();  //删除数组的第一项
alert(item);   //red

var count=colors.unshift("red","orange"); //在数组开头添加任意项,并返回数值长度
alert(count);  //4

⑥重排序方法

var values=[2,3,6,1,7,0,4];
values.sort();  //0,1,2,3,4,6,7   对数组进行排序

values.reverse();  //7,6,4,3,2,1,0    反转数组

⑦操作方法

a.concat()基于当前所有项创建一个新数组,该方法的对于数组的操作都作用于新数组,对原数组没有影响

var colors=["red","green","blue"];
var s=["a","b","c"];
var c1=colors.concat();  //复制colors数组内容到新数组c1中
var c2=colors.concat(s);  //先把colors数组内容复制到新数组中,将s中的每一项都添加都新数组末尾
var c3=colors.concat("grey");  //直接将值加入新数组c3末尾

b.slice()方法基于当前数组的一项或多项创建一个新数组,对原数组没有影响

var colors=["red","green","blue","black"];

//只有一个参数时,返回新数组的项包括角标1到末尾的所有项
var s=colors.slice(1); //  green,blue,black
//两个参数时,返回1到2的所有项的新数组,不包括结束位置
var s=colors.slice(1,3);  //  green,blue

c.splice()

1)删除:删除任意数量的项

splice(位置,删除数量)

var colors=["red","green","grey"];
var re=colors.splice(0,2);  //删除数组的前两项,返回删除的项  red,green

2)插入:可以在指定位置插入任意数量的项

splice(位置,要删除的项数量,要插入的项)

var colors=["red","green","grey"];
var re=colors.splice(1,0,"pink","black"); //从当前数组的位置1开始插入“pink”和“black”

3)替换:可以在指定位置插入任意项,但同时删除任意数量的项

var colors=["red","green","grey"];
var re=colors.splice(1,1,"pink","black"); //在1位置删除一项,插入两项  red,pink,black,grey

⑧位置方法

var s=[1,2,3,4];
alert(s.indexOf(2));  //1  从头开始查找,返回脚标,找不到返回-1
alert(s.lastIndexOf(3));  //2  从数组最后开始往回查找,返回脚标,找不到返回-1

⑨归并方法

var s=[1,2,3,4];
var sum=s.reduce(function(pre,cur,index,array){  //返回数组项的和 正向相加
   return pre+cur;
});
alert(sum);  //10
var s=[1,2,3,4];
var sum=s.reduceRight(function(pre,cur,index,array){ // 返回数组项的和 反向相加
   return pre+cur;
});
alert(sum);  //10

猜你喜欢

转载自blog.csdn.net/baidu_39067385/article/details/81124885