1、数字前面的0可以省略,数字后面的0也可以省略
42.toFixed(3) // SyntaxError (因为42.是一个数字)
42..toFixed(3) // 正确写法
42 .toFixed(3) // 正确写法 (常量后面打空格)
// 不过对于常量而言,这样的语法很容易引起误会, 不建议使用
2、检测整数 Number.isInteger(num)
Number.isInteger(42); // true
Number.isInteger(42.0); // true
3、 检测NaN (ES6)
// 使用以下代码替代 isNaN(a);
Number.isNaN(a);
// 替代方法
if (!Number.isNaN) {
Number.isNaN = function (n) {
return n !== n;
}
}
4、Object.is(a, b) 判断两个值是否绝对相等 (ES6)
var a = 2 / "foo"; // NaN
var b = -3 * 0; // -0
Object.is(a, NaN); // true
Object.is(b, -0); // true
Object.is(b, 0); // false
// 替代方法
if (!Object.is) {
Object.is = function (v1, v2) {
if (v1 === 0 && v2 === 0) {
return 1 / v1 === 1 / v2;
}
// 判断是否是NaN
if (v1 !== v1) {
return v2 !== v2;
}
// 其他情况
return v1 === v2;
};
}