var a = '100';json
alert(Number(a)); => 100函數
var a1 = '';字符串
alert(Number(a1)); => 0io
var a2 = true;function
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中拿到的內容都是字符串類型!