ES6 Math新增方法trunc() sign() cbrt()

trunc()保留数值整数

trunc() 执行逻辑很简单,仅仅是删除掉数字的小数部分和小数点,不管参数是正数还是负数
对比parseInt() :

注意:
调用parseInt方法时,会隐式地将传入的数字类型用toString方法转换为字符串
在javascript中,小于0.000001的浮点数会以科学计数法来表示

console.log(parseInt('3.14kg'))   // 3
console.log(Math.trunc('3.14kg')) // NaN

console.log(parseInt(6.022e23))   // 6
console.log(Math.trunc(6.022e23)) // 6.022e+23

console.log(parseInt(0.0000005))   // 5
console.log(Math.trunc(0.0000005)) // 0
// 0.0000005调用toString的结果会是"5e-7",小于0.000001的浮点数
// parseInt('5e-7') == 5

console.log(Math.trunc(4.0)) // 4
console.log(Math.trunc(4.2)) // 4
console.log(Math.trunc('4.2')) // 4
console.log(Math.trunc('abc')) // NaN
// 隐式转化数值类型
console.log(Math.trunc('123.456')) // 123
console.log(Math.trunc(true)) //1
console.log(Math.trunc(false)) // 0
console.log(Math.trunc(null)) // 0
console.log(Math.trunc(NaN)) // NaN
console.log(Math.trunc(undefined)) // NaN
console.log(Math.trunc()) // NaN
Math.ceil()和Math.floor() 对比,数值正负不确定可以使用Math.trunc()

sign() 判断数值正数,负数,0

sign() 只会有五种结果 1, -1, 0,-0, NaN

console.log(Math.sign('6'))         // 1
console.log(Math.sign(6))           // 1
console.log(Math.sign(-6))          // -1
console.log(Math.sign('-6.33'))     // -1
console.log(Math.sign("123.456"))   // 1
console.log(Math.sign(0))           // 0
console.log(Math.sign(-0))          // -0
// 隐式转化数值类型
console.log(Math.sign(true))        // 1
console.log(Math.sign(false))       // 0
console.log(Math.sign(null))        // 0
console.log(Math.sign(NaN))         // NaN
console.log(Math.sign(undefined))   // NaN
console.log(Math.sign())            // NaN
console.log(Math.sign("abc"))       // NaN

cbrt(x) 数值立方根 x 3 \sqrt[3]{x} 3x

console.log(Math.cbrt(-0))    // -0
console.log(Math.cbrt(0))     // 0
console.log(Math.cbrt(1))     // 1
console.log(Math.cbrt('1'))   // 1
console.log(Math.cbrt(-1))    // -1
console.log(Math.cbrt('abc')) // NaN
console.log(Math.cbrt(Infinity)) // Infinity
console.log(Math.cbrt(-Infinity)) // -Infinity
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值