<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>数值的扩展</title>
</head>
<body>
<script>
//1.二进制和八进制表示方法
//严格模式,八进制要是用前缀0o表示
(function(){
console.log(0o11===011);
})() // Uncaught SyntaxError: Octal literals are not allowed in strict mode.
//转换为数值的话采用Number()
console.log(Number(0o10));//8
//2.Number.isFinite(),Number.isNaN()
//Number.isNaN判断传入的参数是否严格的等于NaN(也就是 ===)
console.log(Number.isNaN(NaN));//true
console.log(Number.isFinite(15));//判断有限与否//true
//注意,如果参数类型不是数值型,Number.isFinite()一律返回false
//3.Number.parseInt(), Number.parseFloat()
//ES6 将全局方法 parseInt() 和 parseFloat(),移植到 Number 对象上面,行为完全保持不变。
console.log(Number.parseInt===parseInt);//true
console.log(Number.parseFloat===parseFloat);//true
//4.Number.isInteger()用来判断一个数值是否为整数
console.log(Number.isInteger(15.3)); //false
//5.Number.EPSILON 根据规格,它表示 1 与大于 1 的最小浮点数之间的差。
//即能够接受的误差范围
//构建误差检查函数
function equal(a,b){
if(Math.abs(a-b)<Number.EPSILON){
return true;
}else{
return false
}
}
console.log(0.1+0.2===0.3);//false
console.log(equal(0.1+0.2,0.3));//true
//6.安全整数和 Number.isSafeInteger()
console.log(Math.pow(2,53)===Math.pow(2,53)+1);//true
console.log(Number.MAX_SAFE_INTEGER); //数值最大9007199254740991
console.log(Number.MIN_SAFE_INTEGER); //最小数值-9007199254740991
console.log(Number.isSafeInteger(9007199254740990)); // true
console.log( Number.isSafeInteger(9007199254740992) );// false
//7.Math对象扩展
// Math.trunc //方法用于去除一个数的小数部分,返回整数部分
console.log(Math.trunc(4.1));//4
console.log(Math.trunc(4.9));//4
//Math.sign()Math.sign方法用来判断一个数到底是正数、负数、还是零
console.log(Math.sign(5));//1
console.log(Math.sign(-5));//-1
console.log(Math.sign(0));//0
console.log(Math.sign(-0));//0
console.log(Math.sign(NaN));//NaN
//Math.cbrt() 方法用于计算一个数的立方根
console.log(Math.cbrt(8));//2
//Math.hypot方法返回所有参数的平方和的平方根。
console.log(Math.hypot(3,4));//3平方+4平方=5平方
//8.ES2016 新增了一个指数运算符( ** )
console.log(2**3);//8 =>Math.pow(2,3)
//9.BigInt 数据类型(大整数)
const a = 2172141653n;
const b = 15346349309n;
console.log(a*b);//33334444555566667777n
</script>
</body>
</html>
ES6数值的扩展
最新推荐文章于 2024-08-14 16:20:59 发布