講給Android程式設計師看的前端教程(25)——基本資料型別
JavaScript是弱型別程式設計語言,當進行變數宣告的時候無須指定變數的資料型別。但程式執行時,變數在記憶體中有對應的資料型別。在JavaScript中常用的基本資料型別有:
- number 數值型別
- string 字串型別
- boolean 布林型別
- undefined 變數未初始化
- null 變數的值為空
現在,對以上資料型別做如下詳細介紹
number
若把數字(比如小數、正數、負數)賦值給變數,那麼該變數的資料型別就是數值型別(number)。數值型別(number)不但可以表示常見的十進位制數字還可以表示十六進位制,八進位制的數字。
請看如下示例:
<script type="text/javascript">
var num1=9527;
var num2=0x22;
var num3=0124;
document.write("num1="+num1+",num2="+num2+",num3="+num3);
</script>
結果為:
num1=9527,num2=34,num3=84
string
在JavaScript中用雙引號或者單引號包含起來的變數都是字串型別。
請看如下示例:
<script type="text/javascript" >
var str1="谷哥的小弟";
var str2='有心課堂';
document.write("str1="+str1+",str2="+str2);
</script>
結果為:
str1=谷哥的小弟,str2=有心課堂
boolean
在JavaScript中常用boolean型別資料表示真與假或者是與非。比如:true表示真,對應的數字是1;false表示假,對應的數字是0
請看如下示例:
<script type="text/javascript">
var b1=true;
var b2=false ;
document.write("b1="+b1+",b2="+b2);
</script>
結果為:
b1=true,b2=false
undefined
undefined表示定義了變數但未對其初始化。
比如:
<script type="text/javascript">
var username;
</script>
此處,雖然聲明瞭變數username但未對其初始化,此時username的型別是undefined
null
在JavaScript中null表示變數的值為空。
比如:
<script type="text/javascript">
var username=null;
</script>
資料型別轉換
在瞭解基本資料型別之後,我們來瞅瞅它們之間的相互轉換。
1 將number轉換成string
可利用String(var)和var.toString()這兩種方式將number轉換成string
請看如下示例:
<script type="text/javascript">
var age=18;
var pai=3.14;
document.write("age原本的資料型別是:"+typeof(age)+"<br>");
document.write("pai原本的資料型別是:"+typeof(pai)+"<br>");
age=String(age);
pai=pai.toString(pai);
document.write("age現在的資料型別是:"+typeof(age)+"<br>");
document.write("pai現在的資料型別是:"+typeof(pai)+"<br>");
</script>
結果為:
age原本的資料型別是:number
pai原本的資料型別是:number
age現在的資料型別是:string
pai現在的資料型別是:string
2 將string轉換成number
可利用Number(var)和parseInt(var)以及parseFloat(var)將string轉換成number
請看如下示例:
<script type="text/javascript">
var pai1="3.1415";
document.write("轉換前pai1="+pai1+",資料型別是"+typeof(pai1)+"<br>");
var pai2="3.14159";
document.write("轉換前pai2="+pai2+",資料型別是"+typeof(pai2)+"<br>");
var pai3="3.141596";
document.write("轉換前pai3="+pai3+",資料型別是"+typeof(pai3)+"<br>");
pai1=Number(pai1);
document.write("轉換後pai1="+pai1+",資料型別是"+typeof(pai1)+"<br>");
pai2=parseInt(pai2);
document.write("轉換後pai2="+pai2+",資料型別是"+typeof(pai2)+"<br>");
pai3=parseFloat(pai3);
document.write("轉換後pai3="+pai3+",資料型別是"+typeof(pai3)+"<br>");
</script>
結果為:
轉換前pai1=3.1415,資料型別是string
轉換前pai2=3.14159,資料型別是string
轉換前pai3=3.141596,資料型別是string
轉換後pai1=3.1415,資料型別是number
轉換後pai2=3,資料型別是number
轉換後pai3=3.141596,資料型別是number
請注意:
- 利用Number(var)將string轉換成number,最後的結果為原資料
- 利用parseInt(var)將string轉換成number,最後的結果為原資料的整數部分
- 利用parseFloat(var)將string轉換成number,最後的結果為原資料
3 將其它資料型別轉換為boolean
可利用Boolean(var)將其它資料型別轉換為boolean
請看如下示例:
<script type="text/javascript">
var age=18;
document.write("轉換前age="+age+",資料型別是"+typeof(age)+"<br>");
var user="谷哥的小弟";
document.write("轉換前user="+user+",資料型別是"+typeof(user)+"<br>");
var zero=0;
document.write("轉換前zero="+zero+",資料型別是"+typeof(zero)+"<br>");
age=Boolean(age);
document.write("轉換後age="+age+",資料型別是"+typeof(age)+"<br>");
user=Boolean(user);
document.write("轉換後user="+user+",資料型別是"+typeof(user)+"<br>");
zero=Boolean(zero);
document.write("轉換後zero="+zero+",資料型別是"+typeof(zero)+"<br>");
</script>
結果為:
轉換前age=18,資料型別是number
轉換前user=谷哥的小弟,資料型別是string
轉換前zero=0,資料型別是number
轉換後age=true,資料型別是boolean
轉換後user=true,資料型別是boolean
轉換後zero=false,資料型別是boolean
請注意:
- 可利用Boolean(var)可將數字0轉換為false
- 可利用Boolean(var)將其他資料型別強制轉換為true