附加:

字符串扩展:

1. includes(str) : 判断是否包含指定的字符串
2. startsWith(str) : 判断是否以指定字符串开头
3. endsWith(str) : 判断是否以指定字符串结尾
4. repeat(count) : 重复指定次数



1    let str = 'abcdefg';
2 console.log(str.includes('a'));//true
3 console.log(str.includes('h'));//false
4
5 //startsWith(str) : 判断是否以指定字符串开头
6 console.log(str.startsWith('a'));//true
7 console.log(str.startsWith('d'));//false
8 //endsWith(str) : 判断是否以指定字符串结尾
9 console.log(str.endsWith('g'));//true
10 console.log(str.endsWith('d'));//false
11 //repeat(count) : 重复指定次数a
12 console.log(str.repeat(5));


View Code


数值扩展

1. 二进制与八进制数值表示法: 二进制用0b, 八进制用0o
2. Number.isFinite(i) : 判断是否是有限大的数
3. Number.isNaN(i) : 判断是否是NaN
4. Number.isInteger(i) : 判断是否是整数
5. Number.parseInt(str) : 将字符串转换为对应的数值
6. Math.trunc(i) : 直接去除小数部分



1  console.log(0b1010);//10
2 console.log(0o56);//46
3 //Number.isFinite(i) : 判断是否是有限大的数
4 console.log(Number.isFinite(NaN));//false
5 console.log(Number.isFinite(5));//true
6 //Number.isNaN(i) : 判断是否是NaN
7 console.log(Number.isNaN(NaN));//true
8 console.log(Number.isNaN(5));//falsse
9
10 //Number.isInteger(i) : 判断是否是整数
11 console.log(Number.isInteger(5.23));//false
12 console.log(Number.isInteger(5.0));//true
13 console.log(Number.isInteger(5));//true
14
15 //Number.parseInt(str) : 将字符串转换为对应的数值
16 console.log(Number.parseInt('123abc'));//123
17 console.log(Number.parseInt('a123abc'));//NaN
18
19 // Math.trunc(i) : 直接去除小数部分
20 console.log(Math.trunc(13.123));//13


View Code


数组扩展

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的元素下标



1  //Array.from(v) : 将伪数组对象或可遍历对象转换为真数组
2 let btns = document.getElementsByTagName('button');
3 console.log(btns.length);//3
4 Array.from(btns).forEach(function (item, index) {
5 console.log(item, index);
6 });
7 //Array.of(v1, v2, v3) : 将一系列值转换成数组
8 let arr = Array.of(1, 'abc', true);
9 console.log(arr);
10 //find(function(value, index, arr){return true}) : 找出第一个满足条件返回true的元素
11 let arr1 = [1,3,5,2,6,7,3];
12 let result = arr1.find(function (item, index) {
13 return item >3
14 });
15 console.log(result);//5
16 //findIndex(function(value, index, arr){return true}) : 找出第一个满足条件返回true的元素下标
17 let result1 = arr1.findIndex(function (item, index) {
18 return item >3
19 });
20 console.log(result1);//2


View Code


对象扩展

1. Object.is(v1, v2)
* 判断2个数据是否完全相等
2. Object.assign(target, source1, source2..)
* 将源对象的属性复制到目标对象上
3. 直接操作 __proto__ 属性
let obj2 = {};
obj2.__proto__ = obj1;



1   console.log(Object.is('abc', 'abc'));//true
2 console.log(NaN == NaN);//false
3 console.log(Object.is(NaN, NaN));//true
4
5 console.log(0 == -0);//true
6 console.log(Object.is(0, -0));//false
7
8 //Object.assign(target, source1, source2..)
9 let obj = {name : 'kobe', age : 39, c: {d: 2}};
10 let obj1 = {};
11 Object.assign(obj1, obj);
12 console.log(obj1, obj1.name);
13
14 //直接操作 __proto__ 属性
15 let obj3 = {name : 'anverson', age : 41};
16 let obj4 = {};
17 obj4.__proto__ = obj3;
18 console.log(obj4, obj4.name, obj4.age);


View Code


Set和Map数据结构

1. Set容器 : 无序不可重复的多个value的集合体
* Set()
* Set(array)
* add(value)
* delete(value)
* has(value)
* clear()
* size
2. Map容器 : 无序的 key不重复的多个key-value的集合体
* Map()
* Map(array)
* set(key, value)//添加
* get(key)
* delete(key)
* has(key)
* clear()
* size



1  let set = new Set([1,2,3,4,3,2,1,6]);
2 console.log(set);
3 set.add('abc');
4 console.log(set, set.size);
5 //delete(value)
6 set.delete(2);
7 console.log(set);
8 //has(value)
9 console.log(set.has(2));//false
10 console.log(set.has(1));//true
11 //clear()
12 set.clear();
13 console.log(set);
14
15 let map = new Map([['abc', 12],[25, 'age']]);
16 console.log(map);
17 map.set('男', '性别');
18 console.log(map);
19 console.log(map.get(25));//age
20 //delete(key)
21 map.delete('男');
22 console.log(map);
23 console.log(map.has('男'));//false
24 console.log(map.has('abc'));//true
25 map.clear();
26 console.log(map);


View Code


for_of循环

for(let value of target){}循环遍历
1. 遍历数组
2. 遍历Set
3. 遍历Map
4. 遍历字符串
5. 遍历伪数组

 



1   let arr = [1,2,3,4,5];
2 for(let num of arr){
3 console.log(num);
4 }
5 let set = new Set([1,2,3,4,5]);
6 for(let num of set){
7 console.log(num);
8 }
9 let str = 'abcdefg';
10 for(let num of str){
11 console.log(num);
12 }
13 let btns = document.getElementsByTagName('button');
14 for(let btn of btns){
15 console.log(btn.innerHTML);
16 }


View Code