js NaN 怎么判断

js yekong

在JavaScript中,判断一个变量是否为NaN(Not a Number,即“不是一个数字”),可以使用几种不同的方法。以下是一些常见的判断NaN的方法:

  1. 利用NaN不等于自身的特性

    function _isNaN(val) {
      return val !== val;
    }
    
  2. 使用Object.is()方法(ES6引入):

    function _isNaN(val) {
      return Object.is(val, NaN);
    }
    
  3. 使用全局isNaN()函数

    function _isNaN(val) {
      return isNaN(val);
    }
    

    但需要注意的是,如果isNaN()的参数不是Number类型,它会先尝试将参数转换为数字,这可能导致一些非数字值(如字符串)也被判断为NaN[3]。

  4. 使用Number.isNaN()方法(ES6引入):

    function _isNaN(val) {
      return Number.isNaN(val);
    }
    

    Number.isNaN()方法不会强制将参数转换为数字,它只有在参数确实是NaN时才返回true

在实际应用中,推荐使用Number.isNaN()Object.is()方法,因为它们提供了更准确的NaN值检测。

喜欢