字符串扩展:
1. includes(str) : 判断是否包含指定的字符串
2. startsWith(str) : 判断是否以指定字符串开头
3. endsWith(str) : 判断是否以指定字符串结尾
4. repeat(count) : 重复指定次数
字符串扩展简单举例:
//字符串的扩展 let str = 'abcdefghijklmnttghij'; console.log(str.includes('t'));//true console.log(str.includes('a'));//true console.log(str.startsWith('a'));//true console.log(str.endsWith('e'));//false console.log(str.repeat(5));//abcdefghijklmnttghijabcdefghijklmnttghijabcdefghijklmnttghijabcdefghijklmnttghijabcdefghijklmnttghij
数值扩展:
1. 二进制与八进制数值表示法: 二进制用0b, 八进制用0o
2. Number.isFinite(i) : 判断是否是有限大的数
3. Number.isNaN(i) : 判断是否是NaN
4. Number.isInteger(i) : 判断是否是整数
5. Number.parseInt(str) : 将字符串转换为对应的数值
6. Math.trunc(i) : 直接去除小数部分
数值扩展简单举例:
//数值的扩展 console.log(0b1010);// 10 console.log(0o56);// 46 console.log(Number.isFinite(Infinity));//true console.log(Number.isNaN(NaN));//false console.log(Number.isInteger(123.12));//false console.log(Number.isInteger(123.0));//true console.log(Number.parseInt('123abc123'));//123 console.log(Number.parseInt('a123abc123'));//NaN console.log(Number.trunc('123.123'));//123
数组扩展:
1. Array.from(v) : 将伪数组对象或可遍历对象转换为真数组
2. Array.of(v1, v2, v3) : 将一系列值转换成数组
3. find(function(value, index, arr){return true}) : 找出第一个满足条件返回true的元素
4. findIndex(function(value, index, arr){return true}) : 找出第一个满足条件返回true的元素下标
数组扩展简单举例:
let btns = document.getElementsByTagName('button'); Array.from(btns).forEach(function (item, idex){ console.log(item); }); let arr = Arry.of(1,4,'abc',true); console.log(arr); let arr2 = [2,3,4,2,5,7,3,6,5]; arr2.find(function (item, idex){ return item >4; }); console.log(result);
对象扩展:
1. Object.is(v1, v2)
* 判断2个数据是否完全相等
2. Object.assign(target, source1, source2..)
* 将源对象的属性复制到目标对象上
3. 直接操作 __proto__ 属性
let obj2 = {};
obj2.__proto__ = obj1;
对象扩展简单举例:
console.log(0 == -0); //true console.log(NaN == NaN); //false console.log(Object.is(0, -0)); //false console.log(Object.is(NaN, NaN)); //true let obj = {}; let obj1 = {username:'anverson', age:42}; let obj2 = {sex: '男'}; Object.assign(obj,obj1,obj2); console.log(obj); let obj3 = {}; let obj4 = {money:50000000}; obj3.__protp__ = obj4; console.log(obj3); console.log(obj3.money);