整理下之前做的有点疑惑的js基础题目和大家分享以下,如果大家觉得有用,别忘了点一下赞哦
ES6 Number.isNaN
const name = "string"
const age = 0
console.log(Number.isNaN(name))//false
console.log(Number.isNaN(age))//false
console.log(isNaN(name))//true
console.log(isNaN(age))//false
这题的主要问题是
为什么同是isNaN方法打印的值不一样?
这里我先说一下 Number.isNaN 的特点就是判断这个数据是不是NaN,且对其他数据类型不进行隐私类型转换
这是为了修改全局的isNaN会进行隐式类型转换的问题,
所以这两个方法的不同就是
Number.isNaN:对其他数据类型不进行隐私类型转换
window.isNaN:对其他数据类型会进行隐私类型转换