javascript中的那些让人摸不着头脑的不=
javascript中的那些让人摸不着头脑的不=
白俊遥 发表于2年前
javascript中的那些让人摸不着头脑的不=
  • 发表于 2年前
  • 阅读 13
  • 收藏 0
  • 点赞 2
  • 评论 0

今个咱来盘点盘点javascript中那些让人摸不着头脑的不等;

本篇博客略偏学术性研究形式了;除了浮点数运算常见写;其他的在实际开发中并不多么实用;

一:首先上场的是NaN:

NaN在js中是一个神(xian)奇(jing)的存在;它用来代表不是数字、不可表示的值;

如果我们理解了它代表的是不可表示的值;那对于下面的代码打印的false就容易接受了;

NaN == NaN;// false

对于NaN更为深入的探讨可以参考这篇博客;这里就不再过多介绍了;The Curious Case of JavaScript NaN

二:接着是关于作为除数的-0;

1/0 == 1/-0;// false

如果我们理解了1/0结果是正无穷大、1/-0结果是负无穷大;那么也就能接受打印的false了;

三:浮点数的运算;

0.3-0.2 == 0.2-0.1;// false

如果我们理解了0.3-0.2的结果是0.09999999999999998的时候;那么也就能接受打印的false了;

原因是javascript采用了IEEE-754浮点数表示法;它不可以精准的表示分数;却不能准确的表示类似0.1这样的浮点数;

白俊遥博客

 

本文为白俊遥原创文章,转载无需和我联系,但请注明来自白俊遥博客http://www.baijunyao.com                        

共有 人打赏支持
粉丝 16
博文 58
码字总数 28701
作品 1
×
白俊遥
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: