概述
背景:“在 JavaScript 中,NaN
最特殊的地方就是,我们不能使用相等运算符(==
和 ===
)来判断一个值是否是 NaN
,因为 NaN == NaN
和 NaN === NaN
都会返回 false
。”
问题描述:可能会认为传入数字时会返回true并且利用该功能判断一个值是否为非数字。
console.log(Number.isNaN(0)); //结果为false
console.log(Number.isNaN('AB')); //结果为false
解释:在es6中,该方法用于严格判断是否等于’NaN'而不是简单地去判断该值是否为非数字。不是所有非数字都是NaN. Number.isNaN()
不会自行将参数转换成数字,只有在参数是值为 NaN
的数字时,才会返回 true。
console.log(Number.isNaN(NaN)); //true
Number.isNaN(NaN); // true
Number.isNaN(Number.NaN); // true
Number.isNaN(0 / 0) // true
// 下面这几个如果使用全局的 isNaN() 时,会返回 true。
Number.isNaN("NaN"); // false,字符串 "NaN" 不会被隐式转换成数字 NaN。
Number.isNaN(undefined); // false
Number.isNaN({}); // false
Number.isNaN("blabla"); // false
Number.isNaN('1'/0); //false,其值是Infinity
Number.isNaN('a'/0); //true,字符a无法因为'/'隐式转成数字
// 下面的都返回 false
Number.isNaN(true);
Number.isNaN(null);
Number.isNaN(37);
Number.isNaN("37");
Number.isNaN("37.37");
Number.isNaN("");
Number.isNaN(" ");
最后
以上就是威武小海豚为你收集整理的JavaScript--Number.isNaN()的全部内容,希望文章能够帮你解决JavaScript--Number.isNaN()所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复