首页 > 代码库 > 《javascript高级程序设计》读书笔记(四)引用类型

《javascript高级程序设计》读书笔记(四)引用类型

第五章:引用类型

Object类型

创建object实例的两种方式:

1.new方式

var person = new Object();

person.name = “haozk”;

person.age = 24;

2.对象字面量表示法

var person = {

name:”haozk”,

age:24

}

也能够将属性用字符串包围:

var person = {

“name”:”haozk”,

“age”:24

}

訪问object实例的属性,也有两种方式:

1.alert(person[“name”])   //方括号方式(能够通过变量来訪问属性,属性也能够为keyword或者保留字)

2.alert(person.name)     //点方式

Array类型

不同于其它编程语言的arrayjs中的array具有stringbuffer的动态调整大小。又数据项类型能够不同样。

创建也有两种方式,new与数组字面量方式:

var colors = new Array();

var colors = new Array(3);

var colors = new Array(“red”,”blue”,”green”);

var colors = [];

var colors = [“red”,”blue”,”green”];

数组的length属性不是仅仅读的,能够改变:

colors.length = 2;

alert(colors[2]);     //undefined

colors[colors.length] = ‘black’;  //在位置2,加入一种颜色,如今的length3.

检測数组:(重要)

Array.isArray()方法

if(Array.isArray(value)){

   //对数组的相关操作

}

转换方法:

调用数组的toLocaleString()toString()valueOf(),返回结果都是每项以逗号分隔的字符串。

alert()接受字符串參数。会在后台调用toString()方法,所以能够直接alert(colors).

调用join()方法,能够接受參数,作为分隔的字符串。如:

alert(colors.join[“||”])   //red||blue||green

栈方法:push(),pop()

队列方法:push(),shift(),unshift(能在数组前端加入随意个项并返回新数组的长度)

重排序方法:

反转:reverse()

升序:sort() (注意:是按字符串排序而不是数值)

function compare(value1,value2){ //升序   (通用)

   if(value1<value2){ 

       return -1;  //若降序,return 1;

   }else if(value1>value){

       return 1;  //若降序。return -1;

   }else{

       return 0;

   }

}

var values = [0,1,5,10,15];

values.sort(compare);

alert(values);

操作方法:contact(),slice(),splice()

位置方法:indexOf(),lastIndexOf()

迭代方法:every(),filter(),forEach(),map(),some()

缩小方法:reduce(),reduceRight()

 

 

《javascript高级程序设计》读书笔记(四)引用类型