一:字符串的拓展方法
(1)startsWith 判断字符串是否以某个字符开头
可以传两个参数{第一个参数表示要判断的字符串,第二个参数表示判断的位置(不传地位个表示整个字符串)}
注:截取的是字符串后面的部分
返回值是布尔值:true或者false
eg:
var str = ‘这是一个美好的传说‘;
var result = str.startsWith(‘传说‘, 7);
//result 为true
(2)endsWith 判断字符串是否以某个字符结尾
可以传两个参数{第一个参数表示要判断的字符串,第二个参数表示判断的位置(不传地位个表示整个字符串)}
注:截取的是字符串前面的部分
返回值是布尔值:true或者false
eg:
var str = ‘这是一个美好的传说‘;
var result = str.startsWith(‘个‘, 4);
//result 为true
(3)includes 判断字符串是否包含一个字符串
可以传两个参数{第一个参数表示要判断的字符串,第二个参数表示判断的位置(不传地位个表示整个字符串)}
注:截取的是字符串后面的部分
返回值是布尔值:true或者false
eg:
var str = ‘这是一个美好的传说‘;
var result = str.includes (‘传说‘, 7);
//result 为true
(4)repeat 字符串的复写
参数是重复次数
eg:
let str = ‘这是一个美好的传说‘;
var result = str.repeat(2);
Console.log(result); //‘这是一个美好的传说这是一个美好的传说‘
(5)raw String的方法。获取原始字符串 里面转义字符不会被转义
注:标点符号 tab上面的那个``
var result = String.raw`你\n是一个\n好人`;
console.log(result)
// 你\n是一个\n好人
(6)模板字符串
语法是 ${书写表达式} ``支持多行字符串
eg:
var title = ‘你‘;
var str = `${title}是一个好人
啊`
console.log(str)
//你是一个好人
//啊
(7)padStart(),padEnd()
注:ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全
二:数值的拓展方法
(1)Number.isFinite() 用来检查一个数值是否为有限的(finite);
注:返回值为true表示有限 false表示无限
eg:
Number.isFinite(15);
true
Number.isFinite(0.8);
true
Number.isFinite(NaN);
false
Number.isFinite(Infinity);
false
Number.isFinite(-Infinity);
false
Number.isFinite(‘foo‘);
false
Number.isFinite(‘15‘);
false
Number.isFinite(true);
false
Number.isFinite(false);
False
(2)Number.isNaN() 检查一个值是否是NaN
注:返回值为true表示是NaN false表示不是NaN
eg:
Number.isNaN(NaN)
true
Number.isNaN(15)
false
Number.isNaN(‘15‘)
false
Number.isNaN(true)
false
Number.isNaN(9/NaN)
true
Number.isNaN(‘true‘/0)
true
Number.isNaN(‘true‘/‘true‘)
True
(3)Number.isInteger() 检查一个值是否是整数
注:返回值为true表示是整数(.0会转化为整数) false表示不是整数
eg:
Number.isInteger(25)
true
Number.isInteger(25.0)
true
Number.isInteger(25.1)
false
Number.isInteger("15")
false
Number.isInteger(true)
False
(4) Number.parseInt() Number.parseFloat() 用法同es5
Eg:
es5用法
parseInt(‘12.34‘)
12
parseFloat(‘123.45#‘)
123.45
es6用法
Number.parseInt(‘12.34‘)
12
Number.parseFloat(‘123.45#‘)
123.45
Number.parseInt === parseInt
true
Number.parseFloat === parseFloat
true
三:Math对象的扩展
(1)Math.trunc() 去除一个小数的小数部分,返回整数部分
注:对于非数值,先用Number().转成数值。对于无法截取整数的返回NaN
Eg:
Math.trunc(4.1)
4
Math.trunc(4.9)
4
Math.trunc(-4.1)
-4
Math.trunc(-4.9)
-4
Math.trunc(-0.1234)
-0
Math.trunc(‘123.456‘)
123
Math.trunc(NaN);
NaN
Math.trunc(‘foo‘);
NaN
Math.trunc();
NaN
(2)Math.sign() 判断一个数字是正数,负数,还是0;
只有5种结果
NaN传递一个非数字
0 传递的是一个正零(0)
-0 传递的是一个负零(-0)
1 传递的是一个正数(有理数和正无穷)
-1 传递的是一个负数(有理数负无穷等)
Eg:
Math.sign(-5)
-1
Math.sign(5)
1
Math.sign(0)
0
Math.sign(-0)
-0
Math.sign(NaN)
NaN
Math.sign(‘foo‘);
NaN