數據類型轉換
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