js代码中0 出现NaN

无意中点击项目,发现一个问题,关于项目中有一个值是需要计算得出这个值的然后保留3位小数

我直接用a/b 然后用了toFixed(3)这个方法,然后对等于0 的情况做了处理让值直接等于0 

然后,一直也没发现问题,刚才忽然出现了NaN的情况,检测了一下字段

发现了问题,以下总结以下出现问题的情况

    console.log(0/0) NaN
    console.log(0/1) 0
    console.log(1/0) Infinity
我的问题就是第一种,把0 作为了除数 导致问题的出现

Infinity 这是一种无穷的状态

 

解决完问题后,决定记录一下,因为老是忽略关于0 的情况,下面就记录一下

1:非数字的运算

5 - 'a' // NaN
在计算的时候把a 解析为数字,但是a 不是数字所以出现NaN

2: 一些数学函数的运算

Math.acos(x)  x  -1 到 1 的一个数为参数,返回一个 0 到 pi (弧度)的数值。如果传入的参数值超出了限定的范围,将返回 NaN

 
Math.acos(-2);  // NaN
Math.acos(-1);  // 3.141592653589793
Math.acos(0);   // 1.5707963267948966
Math.acos(0.5); // 1.0471975511965979
Math.acos(1);   // 0
Math.acos(2);   // NaN

Math.sqrt(-1) //NaN  返回正确舍入的一个double值的正平方根 所以如果为负值为NaN

3: 0/0 这种情况就是我上诉的问题

嗯~~~在总结一些类型为false 的情况吧!

undefined(未定义,找不到值时出现)

null(代表空值)

false(布尔值的false,字符串"false"布尔值为true)

0(数字0,字符串"0"布尔值为true)

NaN(无法计算结果时出现,表示"非数值";但是typeof NaN==="number")

""(双引号)或''(单引号) (空字符串,中间有空格时也是true)

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值