/*
* 將其他的數據類型轉換為Number
* 轉換方式一:
* 使用Number()函數
* - 字符串 --> 數字
* 1.如果是純數字的字符串,則直接將其轉換為數字
* 2.如果字符串中有非數字的內容,則轉換為NaN
* 3.如果字符串是一個空串或者是一個全是空格的字符串,則轉換為0
* - 布爾 --> 數字
* true 轉成 1
* false 轉成 0
*
* - null --> 數字 0
*
* - undefined --> 數字 NaN
*
* 轉換方式二:
* - 這種方式專門用來對付字符串
* - parseInt() 把一個字符串轉換為一個整數
* - parseFloat() 把一個字符串轉換為一個浮點數
*/
var a = "123"; //調用Number()函數來將a轉換為Number類型 a = Number(a); a = false; a = Number(a); a = null; a = Number(a); a = undefined; a = Number(a); a = "123567a567px"; //調用parseInt()函數將a轉換為Number /* * parseInt()可以將一個字符串中的有效的整數內容去出來, * 然后轉換為Number */ a = parseInt(a); /* * parseFloat()作用和parseInt()類似,不同的是它可以獲得有效的小數 */ a = "123.456.789px"; a = parseFloat(a); /* * 如果對非String使用parseInt()或parseFloat() * 它會先將其轉換為String然后在操作 */ a = true; a = parseInt(a); a = 198.23; a = parseInt(a); console.log(typeof a); console.log(a);
...
/*
* 在js中,如果需要表示16進制的數字,則需要以0x開頭
* 如果需要表示8進制的數字,則需要以0開頭
* 如果要要表示2進制的數字,則需要以0b開頭
* 但是不是所有的瀏覽器都支持
*
*/
//十六進制 a = 0x10; a = 0xff; a = 0xCafe; //八進制數字 a = 070; //二進制數字 //a = 0b10; //向"070"這種字符串,有些瀏覽器會當成8進制解析,有些會當成10進制解析 a = "070"; //可以在parseInt()中傳遞一個第二個參數,來指定數字的進制 a = parseInt(a,10); console.log(typeof a); console.log(a);