标签:date 副本 locale 设计 pop 代码 运行 eve 移除
创建一个对象实例用new + 构造函数,比如:var obj = new Object();
还可以用对象字面量表示法来表示对象:
var person = {
name : "harry",
age : 29
};
访问对象的属性(或使用对象的方法来操作数)使用点表示法或者方括号(适用于属性表示法),例如
alert(person["name"]); //"harry"
alert(person.name); //"harry"
两种创建数组的方法,构造函数和数组字面量表示法:
构造函数:var colors = new Array(3);
或者 var colors = new Array("red", "blue");
,其中操作符new可以省略,传入的参数是数值表示数组的项数,传入的参数是其他类型则表示数组项的值。
数组字面量:var colors = ["red", "blue", "green"];
所有数组对象都有属性length,方法toLocaleString(), toString()和valueOf(),其中toString()方法返回数组中每一项以字符串形式拼接的以逗号分隔的字符串
一些重要的数组操作方法
栈方法
LIFO结构,使用方法push()和pop(),push()方法接收任意类型的参数,从数组的末尾插入项,返回修改后数组的长度;POP()方法返回从数组末尾移除的最后一项。
队列方法
FIFO结构,使用方法shift()和push(),shift()方法移除数组第一项并返回这一项;使用unshift()和pop()可以从反方向来模拟队列,unshift()方法从数组的前面插入项,并返回修改后的数组长度。
重排序方法
方法reverse()反转数组项的顺序,sort()方法会调用每个数组项的toString()方法,比较得到的字符串,按升序排列,可以接收一个比较函数作为参数来比较数组项:
function compare(value1, value2) {
if (value1 < value2) {
return -1;
} else if (value1 > value2) {
return 1;
} else {
return 0;
}
}
另外一个按降序排列的比较函数:
function compare(value1, value2) {
if (value1 < value2) {
return 1;
} else if (value1 > value2) {
return -1;
} else {
return 0;
}
}
拼接、切片、删除、插入、替换方法(用到concat(), slice(), splice()方法)
concat()和slice()方法都是创建数组的一个副本,不影响原数组。concat()方法参数是要拼接的数组项,slice()方法第一个参数是要返回项的起始位置,第二个参数是要返回项的结束位置(不包括),如果只有一个参数,则返回从该参数指定位置到数组末尾所有的项。
splice()方法的三个参数:第一个参数是起始位置,第二个参数是要删除的项数,第三个参数是要插入的项,可以对传入的参数进行改变,这个方法会影响原数组。
位置方法(用到indexOf()和lastIndexOf()方法)
都可以有两个参数,第一个参数表示要查找的项,第二个参数表示查找的起始位置(可选),方法indexOf()表示从前向后找,方法lastIndexOf()表示从后向前找。
迭代方法:every(), filter(), forEach(), map(), some()
传入方法的函数有三个参数:数组项的值,该项在数组中的位置和数组对象本身。
归并方法:reduce()和reduceRight()
reduce()从数组的第一项遍历到最后一项,reduceRight()则从后向前遍历,对数组所有的项求和的代码例子:
var values = [1, 2, 3, 4, 5];
var sum = values.reduce(function(pre, cur, index, array) {
return pre + cur;
});
alert(sum); //15
两种构造函数方法:函数声明和函数表达式,函数声明可以在声明之前调用函数,而函数表达式不行:
alert(sum(10, 20)); //30
function sum(num1, num2) {
return num1 + num2;
}
alert(sum(10, 20)); //不能正常运行
var sum = function(num1, num2) {
return num1 + num2;
}
标签:date 副本 locale 设计 pop 代码 运行 eve 移除
原文地址:http://www.cnblogs.com/zhangdecai/p/7873518.html