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

版权声明:尊重知识产权与劳动成果 https://blog.csdn.net/hzk1562110692/article/details/41051821

第五章:引用类型

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”])   //方括号方式(可以通过变量来访问属性,属性也可以为关键字或者保留字)

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()

猜你喜欢

转载自blog.csdn.net/hzk1562110692/article/details/41051821