在javascript中使用var運算符來申明變量。變量總體分為原始類型和引用類型。
1.原始類型存放在棧中,也就是值直接存儲在變量通路的位置。
原始類型包含:Undefined、Null、Boolean、Number、String。<span style="white-space:pre"> </span>var a = 2; //Number類型 <span style="white-space:pre"> </span>var b = false; //Boolean類型(值隻有真或假) <span style="white-space:pre"> </span>var c = ‘hello world’; //String類型 <span style="white-space:pre"> </span>var d; //Undefined類型 <span style="white-space:pre"> </span>alert(e); //依然傳回undefined <span style="white-space:pre"> </span>alert(null == undefined); //傳回true
但是并不代表null與undefined相等,undefined通常表示申明了變量但沒有初始化。nul通常表示尚未存在的對象。
對于Number類型,初始化的值必須在Number.MIN_VALUE與Number.MAX_VALUE值之間,這是邊界,運算所得的值除外。
Infinity表示正無窮大,-Infinity表示負無窮大。
isFinite()方法可以判斷變量是否是無窮大。
NaN是特殊的Number類型,通常是字元串或布爾值轉換數字類型失敗。但是NaN本身不等于自己。alert(NaN == NaN)傳回false。
isNaN()方法可以判斷變量是否是一個Number類型。
資料類型可以進行互相轉化。如:toString(),該方法将其它類型轉換為字元串類型。
var b = 20;
b.toString();轉換為字元串類型,傳參2、8、10、16,可以實作相應進制的轉換。
parseInt()和parseFloat()将變量轉換為數字型。parseInt()直接去掉小數部分。parseFloat()保留小數部分,小數位最長13位。
parseInt()可以使用基模式,如:
var b = 110;
parseInt(b,2); //以2進制的格式轉換成10進制
第二個參數傳2、8、10、16,申明對應的進制轉換
parseInt(‘0Xa’);傳回十進制的10;
但是parseFloat()沒有基模式,而且不支援第一個參數傳入8或16進制。
Javascript提供三個函數來執行資料類型的轉換。
Boolean()、String()、Number();
Boolean()傳參數,null、undefined、0、空傳回false,其它為true.
Number()傳參數,傳回0、NaN、數字
String()與toString()基本相同,但是對于undefined和null的轉換,String()會正常轉換、toString()會報錯。
2. 引用類型存放在堆中,存儲在變量通路位置的是一個指針,指向存儲對象的記憶體處。
對于數組和對象,傳回則是object類型。
将會在後續的面向對象裡詳細介紹。