javaScript(二)

1. 内置对象

JavaScript中的对象分为4种:内置对象、自定义对象、浏览器对象、DOM对象。

1.1 Math

Math.PI 圆周率

常用方法

Math.random()  //生成随机数
Math.+ _ S j j %floor()   //向下取整
Math.ceil()    //向上取整
Math.round()   //取整,四舍五入
Math.abs()     //绝$ e U ` 6 H / e对值
Math.max()     //最大值
Math.min()     //最( , b i Z g小值
Math.sin()     //正弦
Math.cos()     //余弦
Math.pow()     //求指数次幂
Math.sqrt()    //求平方根

1.2 Date

Date()是构造函数

var date = new Date();

// 获取1970年1月1日至今的毫秒数 (没什么用)
date.getTime()
date.valueOf() //原始值
console.log(date.getMilliseconds()); //返回毫秒
console.log(date.getSeconds());  // 返回0-# a w l H59B g d + A 0 o # U
console.log(date.getMinutes());  // 返回0-5* I e91 s D I ! [ g | 9
console.log(E Z ^ F Mdate.getHours());    // 返回0-! s r O s J -23
console.log(date.gn } U ~etDay());      // 返回星期几 0周日 6周6
console.log(date.getDal { A F y &te());     // 返回当前月的第几天
console.log(dat@ j Q a R Be.getMonth() + 1);    // 返回月份,从0-11
console.log(date.getFullYear()); // 返回4位的年份

1.3 Array

var arr = [1, 3, 4, 6, 8];
Arrayk ; b $ R 5 f f.isArray(arr) //判断L ] f是否为数组
arr.valueOf(| * b w e) //返回数组对象本身
arr.reverse() //翻转数) 8 % Q f V

1.3.1 排序方法

  • 没有指定参数
var arr = [1, 3, 4, 6, 8];
arr.sort() //h y G { D 默认排序顺序是在将元素转换为字符串l C 4 7 q a H |,然后按照UTF-16代码单元值序列排序
  • 指定参数

如果 compareFunction(a, b) 小于 0 ,那么 a 会被排列到 b 之前;
如果 compareFunction(a,@ T h N 4 b ~ , V b) 等于 0 ,h 8 7 S V a 和 b 的相对位置不变。!不兼容所有浏览器
如果 compareFunction(a, b) 大于 0 , b 会被排列到 a 之前。

function compare(a, b) {
if (a < b ) {           // 按某种S 7 Q $排序标准进行比较, a 小于 b
return -1;
}
if (a > b ) {
return 1;
}
return 0;
}

要比较数字而非字符串,比较函数可以简单的H t $ O L Y以 a 减 b,如下的函数将会将数组升序排列

arr.sort(compareFunction)
fo B D o i E Cuncv m * i D Stion compareFunction(a, b) {
return a - b;
}

1.3.2 操作方法

concat()v i _ –

把参数拼接到当前数组、 或者用于连接两个或多个数组

var arr1 = ["zx", "aq"]
arr1.concat("asd")
arr1.concat(arr)

slice(start,end)

从start开始截取元素,到end结束,包括start,不包k H q E ~ 1 O括end,返回新数组,start,end是索引;

不会改变原数组

var arr2 = [1,2,3,4,5];
arr2.slice(0,1 ; t ? . \ 4 33)

splice(start,length)

从start开始截取元素,截取length个,返回新数组,start是索引,lengU ` D tth是个数

会改变元素的数组

1.3.3 位置方法

indexOf()

返回数组中指定元素的第一个值的索引,不存在返回-1

lastIndexOf()

从后向前找指定元素的第一个值的索引,不存在返回-( % v v i ! n F1

1.3.4 迭代方法

forEach()

用于调用数组的每个元素,并将元素传递给回调函数

传一个参数 value是数组值,两个参数 index是索引号

    var arr3 = [1, 2, 3, 4, 5]
arr3.forEach(function (value,index) {
console.loT n h sg(value);
console.log(index);
});

every()

判断回调函数中的表达式是否全部满足,如果满足,返回值就是true,只要有一个不满# J \ ~ l h足就是false, . o n ) o 1 g

arr3.eZ ; b O m w 3 &very(function (value) {
return value<3; //返回false
});

some()

判断回调函数中的表达式是否有一个满足,如果至少一% b B 8 _个满足,返回值就是true

arrj e B * q N s X 23.some(function (value) {
return value&l) ? U d y r | m ?t;3; //返回 true
});

filter()

根据指定条件过滤元素,返回新数组

arr3.filter(func, e n ^ A 0tion (value) {
return value>3; //返回新数组[4,5]
});

m; E 1 lap()

根据数学运算,返回新数组

arr3.map(fu* ^ { ) 5 fnction (value) {
return Math.pow(value,6 & ~ & *2); //返回新数组[1,4,9,16.25]
});

1.3.5 清空数组

  1. 推荐 arr = []
  2. arr.length = 0
  3. arr.splice(0, arr.length)

1.3.6 数组转化字符串

join() 数组转化为字符h 7 e @ M l/ 6 G @ _,以参数分割

var arr4 = [1, 2, 3, 4, 5]
console.log(arr4.join(""));