JS--顯示類型轉換Number—隱式類型轉換

顯示類型轉換 (強制類型轉換):
Number()
parseInt()
parseFloat()json

 

Number是總體轉換--可以把一個看起來像數字的字符串轉成數字--儘可能去轉換能轉的都轉了spa

var a = "+100"; alert( a+100 ); // "100100"
alert(Number(a)); // 100 
var a1 = ""; alert( Number(a1) ); // 0
var a2 = true; alert( Number(a2) ); //true -> 1 false -> 0
var a3 = []; //[""] [123] ["123"] [1,2,3]
alert( Number(a3) ); // 0 0 123 123 NaN
var a4 = null; alert( Number(a4) ); // 0

 

parseInt從左到右一個一個轉換,碰到非數字的東西就不轉了 只能轉像->字符串 前面符號/空格也是認的 code

var b = "100px"; // "-100" "00100" "10.6"
alert( parseInt(b) ); // 100 -100 100 10
alert( parseInt(b,10) ); // b,10 是按進制轉換--默認是10進制

 

parseFloat能夠轉換小數blog

var c = "12.34元"; // "12.3.4"
alert( parseFloat(c) ); // 12.34 12.3

  

判斷某一個值是整數仍是小數字符串

var num = "200"; if( parseInt(num) == parseFloat(num) ){ alert( num + "是整數" ); }else{ alert( num + "是小數" ); }

 

Number 中的 NaNio

var json = { abc:123 }; alert( Number(json) ); // NaN 只要是json的就轉不了

var a5; alert( Number(a5) ); // NaN

var a3 = function(){ alert(1); }; alert( Number(a3) ); // NaN 

 

 

隱式類型轉換:
+ 200 + "3" --> 2003 變成字符串
- * / % "200"-3 --> 197 變成數字
++ -- 變成數字
> < 數字的比較、字符串的比較
! 取反 把右邊的數據類型轉成布爾值
==function

var a = "10"; a++; alert( a ); // 11
 alert( "10" > 9 ); // true
alert( "10" > "9" ); // fasle 字符串比較 比較一位一位的字符 //數字的比較與字符串的比較 //"10" "9"
 alert( !true );  // false
 alert( "2" == 2 );  // true 判斷最終的值
alert( "2" === 2 ); // false 先去判斷類型 再去判斷值
 alert( Number("......") ); // NaN
alert( "......"-9 ); // NaN
相關文章
相關標籤/搜索