## 一、字符串的扩展 - `includes(str)` : 判断是否包含指定的字符串 - `startsWith(str) `: 判断是否以指定字符串开头 - `endsWith(str) `: 判断是否以指定字符串结尾 - `repeat(count) `: 重复指定次数 ```js let str = 'abcdefg'; console.log(str.includes('a')); //true console.log(str.includes('h')); //false //startsWith(str) : 判断是否以指定字符串开头 console.log(str.startsWith('ab')); //true console.log(str.startsWith('ac')); //false //endsWith(str) : 判断是否以指定字符串结尾 console.log(str.endsWith('fg')); //true console.log(str.endsWith('d')); //false //repeat(count) : 重复指定次数a console.log(str.repeat(3)); // abcdefgabcdefgabcdefg ``` ## 二、数值的扩展 二进制与八进制数值表示法: 二进制用`0b`开头, 八进制用`0o`开头。 - `Number.isFinite(i) `: 判断是否是有限大的数 - `Number.isNaN(i)` : 判断是否是NaN - `Number.isInteger(i)` : 判断是否是整数 - `Number.parseInt(str) `: 将字符串转换为对应的数值 - `Math.trunc(i) `: 直接去除小数部分 ```js console.log(0b1010); //10 console.log(0o56); //46 console.log('--------------------'); //Number.isFinite(i) : 判断是否是有限大的数 console.log(Number.isFinite(NaN)); //false console.log(Number.isFinite(5)); //true console.log(Number.isFinite(Infinity)); //false console.log('--------------------'); //Number.isNaN(i) : 判断是否是NaN console.log(Number.isNaN(NaN)); //true console.log(Number.isNaN(5)); //false console.log(Number.isNaN(undefined)); //false console.log('--------------------'); //Number.isInteger(i) : 判断是否是整数 console.log(Number.isInteger(5.23)); //false console.log(Number.isInteger(5.0)); //true console.log(Number.isInteger(5)); //true console.log('--------------------'); //Number.parseInt(str) : 将字符串转换为对应的数值 console.log(Number.parseInt('123abc')); //123 console.log(Number.parseInt('a123abc')); //NaN console.log('--------------------'); // Math.trunc(i) : 直接去除小数部分 console.log(Math.trunc(13.123)); //13 ``` ## 三、数组扩展 - `Array.from(v) `: 将伪数组对象或可遍历对象转换为真数组 - `Array.of(v1, v2, v3)` : 将一系列值转换成数组 - `find(function(value, index, arr){return true})` : 找出第一个满足条件返回true的元素 - `findIndex(function(value, index, arr){return true}) `: 找出第一个满足条件返回true的元素下标 ```html