今天來看一下Js 資料型態的轉換我們之前有提到Js資料型態的有哪幾種~?
就是數字 Number , 字串 String , 布林 Boolean. 還有Null, Undefined
因為Js是鬆散式的語言,所以我們在做變數值的運算時,Js或自動幫我們做強制型的轉換,也就是說我們如果是 Number + String , 這樣的運算過程下,Js會怎麼處理呢? 因為變數型態還是必須要相同才能運算:
數值和字串相加 Number + String --------> 強制轉換為 Number
字串和布林相加 String + Boolean --------> 強制轉換為 String
布林和數值相加 Boolean + Number-------> 強制轉換為 Number
布林值大家還記得只有True & False 這兩種, 進行轉換的時候 True數值為1,False數值為0.
轉為字串的時候就是"True" 和 "False" 來運算
給個例子大家試試看就知道了:
<script>
var StringTest, intTest, booleanTest ; //宣告變數
StringTest = "三梔阳";
intTest = 100;
booleanTest = true;
output = StringTest+intTest ;
document.write(output+":"+typeof(output)+"<br/>");
// 我們看字串加數值的畫面還有用typeof()函數看轉換的結果
output = StringTest+ booleanTest ;
document.write(output+":"+typeof(output)+"<br/>");
// 我們看布林加數值的畫面還有用typeof()函數看轉換的結果
output = booleanTest + intTest;
document.write(output+":"+typeof(output)+"<br/>");
// 我們看字串加布林的畫面還有用typeof()函數看轉換的結果
</script>
結果為:
三梔阳100:string // 強制轉換成字串所以原數值轉換為"100"字串來相加,顯示類型為string字串
三梔阳true:string //強制轉會成字串所以布林值轉換為"true"字串相加,顯示類型為string字串
101:number // 強制轉換成數值,因為true的數值為"1", 所以 100+1=101,顯示類型為number數值
PS: null 和 undefined 比較少遇到所以就請各位自己嘗試看看囉
下回我們要看流程控制囉!
沒有留言:
張貼留言