《JacaScript高级程序设计》总结三

引用类型的值(对象)是引用类型的一个实例。引用类型有时候也称为对象定义,因为他们描述的是一类对象所具有的属性和方法
对象是某个特定引用类型的实例。新对象是使用new操作符后跟一个构造函数来创建的。构造函数本身就是一个函数,只不过该函数是出于创建新对象的目的而定义的。

一:object类型
大多引用类型值都是object类型的实例。
创建object实例两种方法:

var person1 = new Object();     //new操作符后跟构造函数
person1.name = "Grace";
person1.age = 20;

var person2 = {                //对象字面量。实际上不会调用Object构造函数
    name: "Grace",
    age: 20
};

alert(person1.name);          //访问对象属性时使用的点表示法
alert(person1["age"]);        //访问对象属性使用方括号,属性以字符串的形式放在方括号中

二:Array类型

/*使用Array构造函数*/
var color1 = new Array();
var color2 = new Array(20);
var color3 = new Array(1,2,3);

/*数组字面量表示法*/
var value = ["red",3,true];    //每一项可以保存任何类型的数据

value[3] = "green";            //数组的大小可以动态调整
value.length = 5;
alert(value[4]);               //undefined

/*检测数组*/
if(value instanceof Array) {}
if(Array.isArray(value)) {}

/*转换方法*/
alert(color3.toString());     //以,分割的字符串
alert(color3.valueOf());      //返回的还是这个数组,但是alert接受字符串参数,所以后台会调用toString()
alert(color3);                //同上

/*栈方法和队列*/
value.push("yellow");        //栈顶推入
value.pop();                 //栈顶弹出并返回这个项
value.shift();               //取出第一项
value.unshift("black")       //加入第一项

/*重排序方法*/
var num = [1,0,10,5];
alert(num.sort());            //0,1,10,5 --> 比较的是字符串
alert(num.reverse());         //5,10,0,1 --> 反转数组项的顺序

/*操作方法*/
alert(num.concat(8,6))       //1,0,10,5,8,6   --> 基于当前数组所有项创建一个新数组
alert(num.slice(2,3));       //10,5  --> 起始位置和结束结束位置
alert(num.indexOf(10));      //2     --> 使用全等操作符 
alert(num.indexOf(2));       //无此数返回-1
alert(num.splice(0,1));      //splice(删除的第一项位置,要删除的项数)
alert(num.splice(1,0,20));      //splice(插入的第一项位置,要删除的项数--0,要插入的项)
alert(num.splice(0,1,30,40));      //splice(替换的第一项位置,要删除的项数,插入的任意项)

var item = [1,2,3,4,5,6,7];
var every = item.every(function(item,index,array){xxx})  //每一项返回true则返回true
var filter = item.filter(function(item,index,array){xxx})  //返回true的项组成数组
var map = item.map(function(item,index,array){xxx})  //返回函数调用后的结果组成数组
var some = item.some(function(item,index,array){xxx})  //任一一项返回true就返回true
var forEach = item.forEach(function(item,index,array){xxx})  //没有返回值

三:Data类型
使用UTC,1970年1月1日零时

var someDate = new Date("May 20, 2016");  //调用Date.parse()
colsole.log(someDate.getFullTear());
colsole.log(someDate.getMouth());    //0-11
colsole.log(someDate.getDate());     //天数
colsole.log(someDate.getDay());      //星期几
colsole.log(someDate.getHours());
colsole.log(someDate.getMinutes());
colsole.log(someDate.getSecond());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值