String.prototype.includes
-
includes()
方法用于判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false。1
2'Blue Whale'.includes('blue'); // returns false
与之相同的方法有indexOf,search,match
String.prototype.repeat
repeat()
构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本。
1 | "abc".repeat(-1) // RangeError: repeat count must be |
String.prototype.startsWith
startsWith()
方法用来判断当前字符串是否是以另外一个给定的子字符串“开头”的,根据判断结果返回 true 或 false。可以用indexOf()
替代1
2
3
4
5
6var str = "To be, or not to be, that is the question.";
alert(str.startsWith("To be")); // true
alert(str.startsWith("not to be")); // false
alert(str.startsWith("not to be", 10)); // true
str.indexOf("To be") === 0//true
String.prototype.endsWith
- endsWith()方法用来判断当前字符串是否是以另外一个给定的子字符串“结尾”的,根据判断结果返回 true 或 false。
1 | var str = "To be, or not to be, that is the question."; |
Number.EPSILON
Number.EPSILON
属性表示 1 与Number可表示的大于 1 的最小的浮点数之间的差值。1
2
3
4
5
6
7var i = 0
while(Math.abs(i - 1) < Number.EPSILON){
i += 0.1
console.log(i)
if(i>100)break
}
console.log('i is 1')
Number.isInteger
-
Number.isInteger()
方法用来判断给定的参数是否为整数。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15function fits(x, y) {
if (Number.isInteger(y / x)) {
return 'Fits!';
}
return 'Does NOT fit!';
}
console.log(fits(5, 10));
// expected output: "Fits!"
console.log(fits(5, 11));
// expected output: "Does NOT fit!"
function isInt(n){
return parseInt(n, 10) ==== n
}
Number.isSafeInteger
-
Number.isSafeInteger() 方法用来判断传入的参数值是否是一个“安全整数”(safe integer)。一个安全整数是一个符合下面条件的整数:
- can be exactly represented as an IEEE-754 double precision number, and
- whose IEEE-754 representation cannot be the result of rounding any other integer to fit the IEEE-754 representation.
Number.isFinite
Number.isFinite()
方法用来检测传入的参数是否是一个有穷数(finite number
)。1
2
3
4
5
6
7
8Number.isFinite(Infinity); // false
Number.isFinite(NaN); // false
Number.isFinite(-Infinity); // false
Number.isFinite(0); // true
Number.isFinite(2e64); // true
Number.isFinite('0'); // false, 全局函数 isFinite('0') 会返回 true
Number.isNaN(‘NaN’) // false
-
Number.isNaN()
方法确定传递的值是否为 NaN和其类型是 Number。它是原始的全局isNaN()的更强大的版本。1
2
3
4
5
6
7
8
9
10
11
12
13
14function typeOfNaN(x) {
if (Number.isNaN(x)) {
return 'Number NaN';
}
if (isNaN(x)) {
return 'NaN';
}
}
console.log(typeOfNaN('100F'));
// expected output: "NaN"
console.log(typeOfNaN(NaN));
// expected output: "Number NaN"
Math.acosh
- Math.acosh()返回一个数字的反双曲余弦值.
Math.hypot
- Math.hypot() 函数返回它的所有参数的平方和的平方根,即:
Math.hypot(3, 4) // 5
Math.imul
- 该函数返回两个参数的类C的32位整数乘法运算的运算结果.
1
2
3
4
5Math.imul(2, 4) // 8
Math.imul(-1, 8) // -8
Math.imul(-2, -2) // 4
Math.imul(0xffffffff, 5) //-5
Math.imul(0xfffffffe, 5) //-10
Math.sign
-
Math.sign() 函数返回一个数字的符号, 指示数字是正数,负数还是零。此函数共有5种返回值, 分别是 1, -1, 0, -0, NaN. 代表的各是正数, 负数, 正零, 负零, NaN。
1
2
3
4
5
6
7
8Math.sign(3); // 1
Math.sign(-3); // -1
Math.sign("-3"); // -1
Math.sign(0); // 0
Math.sign(-0); // -0
Math.sign(NaN); // NaN
Math.sign("foo"); // NaN
Math.sign(); // NaN
Math.trunc
- Math.trunc() 方法会将数字的小数部分去掉,只保留整数部分。parseInt方法在转换科学计数数字时会直接将他转化成字符串,从而导致数字变成一位数。