ES5常用api

String

trim()去除字符创两侧空白

// 删除一个字符串两端的空白字符,返回一个去除空白新的字符串。
let str='     testStr    ';
console.log("+" + str + "+"); // +     fff    +
console.log("+" + str.trim() + "+"); // +fff+

Date

now() 静态方法,获取当前时间戳

// 1970.7.1到现在的毫秒数
console.log(Date.now());//1500799156134
// toJSON()格林时间(德国) 与我们的时间正好相反
console.log(new Date().toJSON()); // 2017-07-23T08:42:13.050Z
console.log(new Date().toJSON().slice(0,10)); // 2017-07-23

Number

toFixed()

// 小数后取位数,数字代表取到第几位,四舍五入返回小数
let num1 = new Number(1.234);
console.log(num1.toFixed(1)); // 1.2
let num2 = new Number(4.645372);
console.log(num2.toFixed(2)); // 4.65
console.log(Math.round(13.89)); // 14 四舍五入返回整数

toPrecision()

// 以指定的精度返回该数值对象的字符串表示。 precision 是 1 ~ 21 之间
let num=100000000000000000000;
console.log(num.toPrecision(7)); // 1.000000e+20
console.log(num.toPrecision(3)); // 1.00e+20

JAON对象

parse()

// 将JSON字符串转换成JSON对象(JSON反序列化)
let str = '[{"name":"test","age":"10"},{"name":"demo","age":"20"}]';
let json=JSON.parse(str);
console.log(json[1].name); // demo

stringify()

将JSON对象转换成JSON字符串(JSON序列化)
let arr = [
    {"name": "test", "age":"10"},
    {"name": "demo", "age":"20"},
];
let str = JSON.stringify(arr);
console.log(str); // '[{"name":"test","age":"10"},{"name":"demo","age":"20"}]'

Array

forEach() 循环遍历

let arr = [1, 2, 3, 4, 5, 7, 8, 9];
arr.forEach(function(value, index) {
    console.log(value); // 1,2,3,4,5,6,7,8,9
    console.log(index); // 0,1,2,3,4,5,6,7,8
});

map() 返回一个修改过的新数组

let arr = [1, 2, 3, 4, 5];
let arr2 = arr.map(function(value) {
    return value * 2 + 1;
});
console.log(arr2); // [3, 5, 7, 9, 11]

filter() 返回满足条件的元素数组

let arr = [1, 2, 3, 4, 5];
let arr2 = arr.filter(function(value) {
    return value > 2;
});
console.log(arr2); // [3, 4, 5]

some() 判断数组元素是否满足条件,只要有符合的返回true

let arr = [1, 2, 3, 4, 5];
let arr2 = arr.some(function(value) {
    return value > 2;
});
console.log(arr2); // true

every() 数组元素全部满足条件则返回true否则返回false

let arr = [1, 2, 3, 4, 5];
let arr2 = arr.every(function(value) {
    return value > 3;
});
console.log(arr2); // false

indexOf() 返回匹配元素的索引值

let arr = [2, 5, 7, 3, 5];
console.log(arr.indexOf(5, "x")); // 1 ("x"被忽略)
console.log(arr.indexOf(5, "3")); // 4 (从3号位开始搜索)
console.log(arr.indexOf(4)); // -1 (未找到)
console.log(arr.indexOf("5")); // -1 (未找到,因为5 !== "5")

lastIndexOf() 从字符串的末尾开始查找

let arr = [2, 5, 7, 3, 5];
console.log(arr.lastIndexOf(5)); // 4
// console.log(arr.lastIndexOf(5, 3)); // 1 (从后往前,索引值小于3的开始搜索)

// console.log(aa.lastIndexOf(4)); // -1 (未找到)

reduce() 缩小迭代

let arr = [1,2,3,4,5];
let total = arr.reduce(function(last,now) {
    return last * now;
}, 1);
console.log(total); // 120

reduceRight() 右侧开始缩小迭代

let arr= [1,2,3,4,5];
let total = arr.reduceRight(function(last,now) {
    return last * now;
}, 1);
console.log(total); // 120

isArray() 判断变量是不是数组类型

Array.isArray(["3", "4"]);
// true
Array.isArray({"x": "y"});
// false

Function

bind(this,arg1,arg2)

function A(x){
    this. x = x;  
}

function B(y){
    console.log(this.x + ":y=" + y );
}
B.bind(new A(5),6)(); // 5:y=6
原文地址:https://www.cnblogs.com/mingbo-zhang/p/10190812.html