2012年10月13日 星期六

JavaScript-9

今天來看一下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 比較少遇到所以就請各位自己嘗試看看囉

下回我們要看流程控制囉! 

沒有留言:

張貼留言