數據類型轉換
1、什么是數據類型轉換
使用表單,prompt獲取過來的數據默認是字符串類型的,此時就不能直接簡單的進行加法運行,而需要轉換變量的數據類型。通俗來說,就是把一種數據類型的變量轉換成另外一種數據類型。
通常會實現三種方式的轉換:
- 轉換為字符串類型
- 轉換為數字型
- 轉換為布爾型
2、轉換為字符串

- toString()和String()使用方式不一樣
- 三種轉換方式,我們更喜歡用第三種加號拼接字符串轉換方式,這一種方式也稱之為隱式轉換
<script>
// 1、把數字型轉換為字符串 變量.toString
var num = 10;
var str=num.toString();
console.log(str);
console.log(typeof str);
// 2、利用String(變量)
console.log(String(num));
// 3、利用+拼接字符串的方法實現轉換效果 隱式轉換
console.log(num+'');
</script>

3、轉換為數字型

- 注意parseInt和parseFloat單詞的大小寫
- 隱式轉換是我們在進行算術運算的時候,JS自動轉換了數據類型
<script>
var age =prompt('請輸入您的年齡');
// 1、parseInt(變量) 可以把 字符型的轉換為數字型 得到的是整數
console.log(parseInt(age));
console.log(parseInt('3.14')); //3 取整
console.log(parseInt('3.97')); //3 取整
console.log(parseInt('120px')); //120 會去掉這個px單位
console.log(parseInt('rem120px')); //NAN
// 2、parseFloat(變量) 可以把字符型的轉換為數字型 得到的是小數 浮點數
console.log(parseFloat('3.14')); //3.14
console.log(parseFloat('120px')); //120 會去掉這個px單位
console.log(parseFloat('rem120px')); //NAN
// 3、利用Number(變量)
var str='123';
console.log(Number(str));
console.log(Number('12'));
// 4、利用了算術運算 - * /隱式轉換
console.log('12'-0); //12
console.log('123'-'120'); //3
</script>
<script>
// 彈出一個輸入框(prompt),讓用戶輸入出生年份(用戶輸入)
// 把用戶輸入的值用變量保存起來,然后用今年的年份減去變量值,結果就是現在的年齡(程序內部處理)
// 彈出警示框(alert),把計算的結果輸出(輸出結果)
var year = prompt('請您輸入您的出生年份');
var age=2018-year;//year取過來的是字符串型 但是這里用的減法,有隱式轉換
alert('您今年已經'+age+'歲了');
</script>


<script>
// 先彈出第一個輸入框,提示用戶輸入第一個值 保存起來
// 再彈出第二個框,提示用戶輸入第二個值 保存起來
// 把這兩個值相加,並將結果賦給新的變量(注意數據類型的轉換)
// 彈出警示框(alert),把計算的結果輸出(輸出結果)
var num1 = prompt('請輸入第一個值:');
var num2 = prompt('請輸入第二個值:');
var result=parseFloat(num1)+parseFloat(num2);
alert('您的結果是:'+result);
</script>


4、轉換為布爾型

- 代表空、否定的值會被轉換為false,如''、0、NaN、null、undefined
- 其余值都會被轉換為true
console.log(Boolean('')); //false
console.log(Boolean(0)); //false
console.log(Boolean(NaN)); //false
console.log(Boolean(null)); //false
console.log(Boolean(undefined)); //false
console.log(Boolean('123')); //true
console.log(Boolean('你好')); //true
