js 全局的 isNaN和Number.isNaN的区别

  1. 全局 isNaN 的问题

    • 全局的 isNaN 会对非数字的值进行隐式类型转换。例如:

      javascript

      复制

      isNaN("abc"); // true
      isNaN(undefined); // true
      isNaN({}); // true
    • 这种行为可能导致意外的结果。

  2. Number.isNaN 的优势

    • Number.isNaN 只有在值为 NaN 时才会返回 true,不会进行隐式类型转换。例如:

      javascript

      复制

      Number.isNaN("abc"); // false
      Number.isNaN(undefined); // false
      Number.isNaN({}); // false
      Number.isNaN(NaN); // true
    • 更加严格和可靠。

你可能感兴趣的:(javascript,前端,开发语言)