javascript - 数字除0的运算
本文介绍了javascript - 数字除0的运算的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
一般外运算中一个数除以0一般是不成立的但是在javascript中却是infinity(正无穷)
var a=4;
var b=a/0;
if(b==b){
console.log( b * 2 + "2" - 0 + 4);
}else {
console.log(!b * 2 + "2" - 0 + 4);
}
我本来以为输出结果也是infinity但是结果却是NaN为什么?求解
解决方案
因为这个跟除以0没关系,NaN是因为你用了一个非纯数字的字符串去减一个数字,在JS中 ’-‘操作符会强制将字符串转为数字类型进行运算, b * 2 + "2"
得到"Infinity2"
, 用一个字符串"Infinity2"
减0,肯定会NaN啊,因为Number("Infinity2")
的结果是NaN, 而任何数跟NaN计算都会是NaN。
这里面涉及到JS运算符的强制转换知识,你可以去了解下。
这篇关于javascript - 数字除0的运算的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文