第5章引用类型

第5章引用类型

5.1 Object类型

创建object实例方法

//使用new操作符
var person1=new Object();
person.name="张三";
person.age=29;
var person2={};
person2.name="张三";
person2.age=29;
//使用对象字面表示法
var person3={
    name:"李四",
    age:28
};

使用的更多的是对象字面表示法,例子:

function displayInfo(args){
    var output="";
    if(typeof args.name == "string"){
        output+="Name:" + args.name + "\n";
    }
    if(typeof args.age == "number"){
        output+="Age:" + args.age + "\n";
    }
    alert(output);
}
displayInfo({
    name:"bule",
    age:18
});
displayInfo({
    name:"red"
})

5.2 Array类型

构造数组

var arr1=new Array();
var arr2=new Array(20);
var arr3=["red","green","yellow"];
5.2.1 检测数组
//方法一
if (value instanceof Array){
    //对数组执行某些操作
}

//方法二
if(Array.isArray(value)){
    //对数组执行某些操作
}
5.2.3 栈方法

栈:后进先出
push()方法可以接受任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。而pop()方法则从数组末尾移除最后一项,减少数组的length值,然后返回移除的项。例子:

var colors=new Array();
var count = colors.push("red","green");
console.log(count);//2
count = colors.push("black");
console.log(count);//3
console.log(colors);//"red","green","black"
var item = colors.pop();
console.log(item);//"black"
console.log(colors);//"red","green"
console.log(colors.length);//2
5.2.4 队列方法

队列:先进先出
shift()方法能够移除数组中的第一个项并返回该项,同时将数组长度减一。结合使用push()。例子:

var colors=new Array();
var count =colors.push("red","green");
console.log(count);//2
count = colors.push('black');
console.log(count);//3
var item = colors.shift();
console.log(item);//red
console.log(colors.length);//2

js还提供了一个unshift()方法。用法与shift()相反:它能在数组前端添加任意个项并返回新数组的长度。因此,同时使用unshift()和pop()方法,可以从相反的方向来模拟队列,即在数组的前端添加项,从数组末端移除项。

var arr11=new Array();
arr11.push('1','2','3');
console.log(arr11);//['1','2','3']8
arr11.pop();
console.log(arr11);//['1','2']
arr11.unshift('a');
console.log(arr11);//['a','1','2']
5.2.5重排序方法

1.reverse()方法:反转数组的顺序

var values = [1,2,3,4,5];
values.reverse();
console.log(values);//5,4,3,2,1

2.sort()方法:默认是升序。注意:sort()方法会调用每个数组项的toString()转型方法,然后比较得到字符串,以确定如何排序。即使数组中的每一项都是数组,sort()方法比较的也是字符串。所以要加一个比较函数。

var  values=[3,6,1,9,7,5];
//a-b升序
values.sort(function(a,b){return a-b});
console.log(values);//1,3,5,6,7,9
//b-a降序
values.sort(function(a,b){return b-a});
console.log(values);//9,7,6,5,3,1

//es6
values.sort((a,b)=>(a-b));

5.2.6操作方法

concat()方法:合并数组,构建新的数组

var arr1=[2,1,4,5];
var arr2=[3,4,5,6];
var arr3=arr1.concat(arr2);
console.log(arr3);//2,1,4,5,3,4,5,6

slice()方法:它能够基于当前数组中的一或多个项创建一个新数组。不影响原始数组

var arr1=['a','b','c','d','e'];
var arr2=arr1.slice(1);//b,c,d,e
var arr3=arr1.slice(1,4);//b,c,d  不包括结束位置的项
var arr4=arr1.slice(-2);//d,e

splice()方法:算是最强大的数组方法了。

var arr1=['a','b','c','d','e'];
//删除 指定2个参数:要删除的第一项的位置和要删除的项数
arr1.splice(1,2);
console.log(arr1);//a,d,e
//插入 指定3个参数:起始位置、0(要删除的项数)和要插入的项(可对个项)
arr1.splice(2,0,'red','green')
console.log(arr1);//a,b,red,green,c,d,e
//替换 起始位置、要删除的项和要插入任意数量的项
arr1.splice(2,2,'red','green')
console.log(arr1);//a,b,red,green,e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值