概述
ps:
我们都知道在c/c++/java...中,一个数字除以0都会报错,但是在js中情况比较特殊,不仅不会报错、还会返回NaN或者infinity:
->非0数字除以0会返回infinity(无穷大,有点类似高数中取极限的意思),
->而0和0相除又会返回NaN;
所以我们这里的注意点并非是isNaN()的用法、而是以下几种特殊的取值~
具体总结如下:
1) (不包括infinity)任何数值乘0 =>0 0*0=>0 1*0=>0
2) (不包括0)任何数值除0 => Infinity; 1/0 =>Infinity
------------------2个特例------------------
3)Infinity*0 => NaN; 1/0*0=>NaN
4) 0与0相除 => NaN; 0/0 =>NaN
代码验证:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!-- <div></div> -->
<script>
// 用isNaN可以判断是否为非数值
var n =12;
console.log(isNaN(n)); //false
console.log("——————————————————")
/*
1) 任何数值(不包括infinity)乘0 =>0 0*0=>0 1*0=>0
2) 任何数值(不包括0)除0 => Infinity; 1/0 =>Infinity
------------------2个特例------------------
3)Infinity*0 => NaN; 1/0*0=>NaN
4) 0与0相除=>NaN; 0/0 =>NaN
*/
var a = 1/0;
var b = 0/0;
var A = 0*0;
var B = 1*0;
var C = 1/0*0;
console.log(" -------任何数字(不包括0)除0=>Infinity;---------");
console.log(" 1/0的值为:"+a); //Infinity
console.log(isNaN(a)); //false
console.log("------ 0与0相除 => NaN; --------");
console.log("0/0的值为:"+b); //NaN
console.log(isNaN(b)); //true
console.log("----任何数值(不包括infinity)乘0 =>0-----");
console.log("0*0的值为:"+A);
console.log(isNaN(A));
console.log("1*0的值为:"+B);
console.log(isNaN(B));
console.log("------ Infinity与0相乘 => NaN; --------");
console.log("1/0*0;的值为:"+C); //NaN
console.log(isNaN(C)); // true
</script>
</body>
</html>
控制台输出结果:
最后
以上就是沉默嚓茶为你收集整理的isNaN的用法:js中关于使用isNaN()时的注意点(0做除数不报错)的全部内容,希望文章能够帮你解决isNaN的用法:js中关于使用isNaN()时的注意点(0做除数不报错)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复