關於NaN和isNaN


js中的數據類型有幾個特殊的,其中NaN就是一個,今天來說一下NaN的特點以及和isNaN的區別。

JS中的數據類型:數字(NaN)、字符串、布爾、函數、對象(obj、[]、{}、null)、未定義。

一、那么NaN在以下幾種情況中會比較特殊:

 1 <script>
 2 var a = Number('abc');
 3 // alert( a );            // NaN
 4 // NaN:not a number 不是個 數字 的 數字類型。結果說明:NaN屬於數據類型中的數據
 5 
 6 
 7 // alert( typeof (a) );            // number
 8 // 一旦寫程序中出現:NaN  肯定進行了非法的運算操作
 9 // alert( '200px' -  100 );
10 
11 // NaN 是 false
12 if( a ){
13     // alert( '真' );
14 }else{
15     // alert( '假' );
16 }
17 //結果說明:NaN在布爾值中是false
18 
19 
20 var abc = [];
21 // alert( abc === abc );                true
22 
23 alert( a === a );                // false
24 // 結果說明:NaN 與自己都不相等!!
25 </script>

從上面的分析中得出幾個NaN的特點:

1、NaN屬於數據類型中的數據;

2、NaN在布爾值中是false;

3、NaN 與自己不相等。

二、接下來我們來看看isNaN:

isNaN:Is not a number 是不是不是一個數字(不是數字)

isNaN(); 是一個方法,它的特點是:

1、可以判斷某些值是不是數字
2、不喜歡數字、討厭數字

1 <script>
2 
3 alert( isNaN('250') );//返回的結果就是false
4 
5 //isNaN在解析的過程中能解析出來的自行解析若是不能解析的字符串或者其他類型都會“交給” Number()來處理解析,所以就會出現下面的解析過程
6 // Number()  '250' => 250 => false
7 </script>

所以在項目中isNaN可以用來判斷某些值是不是數字,這種用法會很多。

好了,今天就寫到這里,明天繼續!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM