数字除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为什么?求解


牛魔王的故事
浏览 462回答 1
1回答

慕斯709654

因为这个跟除以0没关系,NaN是因为你用了一个非纯数字的字符串去减一个数字,在JS中 ’-‘操作符会强制将字符串转为数字类型进行运算, b * 2 + "2"得到"Infinity2", 用一个字符串"Infinity2"减0,肯定会NaN啊,因为Number("Infinity2")的结果是NaN, 而任何数跟NaN计算都会是NaN。这里面涉及到JS运算符的强制转换知识,你可以去了解下。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript