數據類型轉換Number


var  a = '100';

alert(Number(a));   =>   100

var a1  = '';

alert(Number(a1));   =>  0

var a2  = true;

alert(Number(a2));   => true - 1 或  false - 0

var  a3 = [];

alert(Number(a3));    =>   0

var  a3 = [10];

alert(Number(a3));    =>   10

var  a3 = [ '' ];

alert(Number(a3));    =>   0

var  a3 = [1,2,3,4];

alert(Number(a3));    =>   NaN

var  a4 = null;

alert(Number(a4));    =>   0

var  a5 ;

alert(Number(a5));    => NaN

//////////////////////////////////

var json= {};

alert(Number(json));   =>   NaN

var fn = function (){alert(1);};

alert(Number(fn););   =>   NaN

var b = '100px';

alert(Number(b));   =>NaN;   =>這時候我們不用Number了,因為它是整體轉換,遇到非數字轉不了!

我們可以用parseInt   =>它是逐一轉換,遇到非數字截斷,數字以后不被解析!

var b = '100px45125151';

alert(parseInt(b));   =>   100;

parseInt 只能轉字符串,函數和布爾值其它的都不能轉換  =>NaN。

var b = '+100';

alert(parseInt(b));      => 100

parseInt()還是認 + -等一些預算符號的還有空格。

var b = '0000000100';

alert(parseInt(b));      => 100;

var a = '12.34元';

alert(parseInt(a));     =>12;//這時候可以用parseFloat();

var a = '12.34元';

alert(parseFloat(a));    => 12.34;它只認得一個小數點,再多就會截斷。

 

parseInt和parseFloat 還有一個參數,代表以幾進制運算!   =>  parseInt(12.34,10);=>默認為10進制運算。

判斷一個數字為整數還是小數可以組合使用

var num = '200.23';

if(parseInt(num) ==parseFloat(num)){

  num + '是整數';

}else{

   num + '是小數';

};

總結:以上Number();  parseInt();  parseFloat();它們為顯示類型轉換(強制類型轉換)。

隱式類型轉換:

- * / % ++   --   =>  它們可以把字符串隱性的轉為數字。 例如:'200' - 3   =>197;

+            =>它會把數字轉為字符串。  例如:200 + '3'    =>  2003;

 

>  <  數字的比較  ,字符串的比較是不一樣的。

alert('10' > 9);     =>    true;

alert('10' > '9');    =>   false;   比較的是第一位的,1  <  9    則100000  <   9;

!取反    =>   無論右邊是什么都會變為布爾值。  !100 =>false;   !'ok'    =>  false;

==和 ===    =>它們兩個不一樣,==只比較結果。===結果和類型都比較;

 

NaN   :not a number   =>不是一個數字

NaN   =>  他是數字類型!

 

一旦寫程序出現:NaN,證明你進行了非法的運算。

NaN在布爾值里是false!

NaN ===NaN    =>false!

NaN與自己都不相等!

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

isNaN(); 判斷某些值是不是數字

不喜歡數字!  =>false;

喜歡   =>  true;

 

isNaN();根據Number();進行轉換然后再進行判斷的。

isNaN討厭數字但是不討厭NaN!

 

HTML中拿到的內容都是字符串類型!

 


免責聲明!

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



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