isNaN的明白

置信有學過JavaScript的同硯都對isNaN不會生疏,它的作用是推斷當前值是不是能轉換為数字的主要東西。

在引見isNaN函數前,我們先來說說NaN。

NaN

NaN(not a number)是Number的一個特別數值。對它的定義實在異常新鮮,非數值,一個不是数字的數值。這個數值用來示意原本用來返回数字的操縱未返回数字的狀況。

NaN有如許的特性:

  1. 一切數值範例除以/減去/乘以非數值範例,都返回NaN。
  2. NaN不等於任何值,包含本身。(NaN != NaN)

注:Boolean和Null能轉換成Number範例,所以能準確返回数字。

isNaN()

isNaN()吸收一個參數,這個參數可所以恣意範例。假如這個參數能夠被轉換為Number範例,則返回false,不然返回true

  1. isNaN()的參數會被嘗試轉換為Number範例。
  2. 假如參數為[]''truefalsenull會被轉換為数字,效果返回false。

注:當傳入的參數為一個對象時,isNaN()會嘗試挪用valueOf()要領,來推斷是不是能夠轉換為數值,假如不能,還會再挪用toString()要領,來繼承推斷是不是能夠轉換為數值。

    原文作者:小白
    原文地址: https://segmentfault.com/a/1190000015388770
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞