Javascript數據類型有6種:javascript
(一)、Number java
var a = 12; alert(a);
彈出a的值是12。 函數
var a = 12; alert(typeof a);
【typeof 是查看變量的類型。】彈出的(類型的返回字符串)是number,說明a的返回參數爲number,類型是Number類型【大寫字母是數據類型,小寫字母是返回參數】spa
(二)、String 對象
var a = 'abc'; alert(a);
彈出的a的值是abc。 blog
var a = 'abc'; alert(typeof a);
彈出的(類型的返回字符串)是string,說明a的返回參數爲string,類型是String類型。 ip
var a = '2'+'3'; alert(a);
彈出的a的值是23,由於此時的2跟3是一個字符串,也就是2和3合併起來。 字符串
var a = '2'+'3'; aert(typeof a);
彈出的(類型的返回字符串)是string,說明a的返回參數爲string,類型是String類型。 string
var a = '2'+3; alert(a);
彈出的a的值爲23。 it
var a = '2'+3; alert(typeof a);
返回值(類型的返回字符串)爲string,說明此時的a是String數據類型。
var a = '2'+3+4+'5'; alert(a);
彈出的也是2345,由於是按照前後順序,‘2’+3是一個字符串,字符串再加4仍是字符串,字符串加字符串‘5’最終也是字符串。所以爲2345。
var a = '2'+(3+4)+'5'; alert(a);
彈出的a的值爲275.
var a = '2'+(3+4)+'5'; alert(typeof a);
彈出的返回值(類型的返回字符串)爲string,依然仍是個字符串數據類型。
var a = '2'-'1'; alert(a);
彈出的a的值爲1。由於在js中,只有「-」字符串是相減的。
var a = '2'-'1'; alert(typeof a);
彈出的值(類型的返回字符串)爲number,此時爲Number數值類型。
var a = '2'-1; alert(a);
彈出的a的值爲1。
var a = '2'-1; alert(typeof a);
彈出的返回值(類型的返回字符串)爲number,此時爲Number數值類型。
(三)、Boolean
var a = true; alert(a);
彈出的值是true。
var a = true; alert(typeof a);
返回的值(類型的返回字符串)是boolean。說明數據類型是Boolean類型。
var a= ‘李炎恢’; alert(Boolean(a));
輸出的爲true;由於a是字符串,Boolean是布爾值,因此強制轉換了;因此輸出爲true.
(四)、Object
Object數據類型的返回字符串是object,若是變量的值爲null或者對象時,返回的字符串都是object,對象的數據類型爲Object,null的數據類型爲Null。null是Object數據類型的一種
建立一個對象,用{}來建立,也能夠用var a = new Object()來建立對象;此時爲空的對象,並不是空對象,空的對象是指有了對象,可是裏面沒有值;空對象是null,沒有建立對象,什麼都沒有。
var a = {}; alert(a);
彈出的值是[object Object];
var a= {}; alert(typeof a);
彈出的a的值(類型的返回字符串)是object,值是[object,Object],說明是Object數據類型。
空對象是沒有建立,裏面是null,什麼都沒有;
var a = null; alert(a);
彈出的值是null;
var a= null; alert(typeof a);
彈出的a的值(類型的返回字符串)是object,說明是Nullt數據類型。
(五)、Null
第四中提到了,在此不做重複的解釋;
var a = null;它的意思是還沒建立【對象】,可是聲明瞭對象引用而必須初始化的結果,你還沒來得急建立對象,先聲明一個對象的變量放在那裏,默認初始化爲null;舉例子以下:
var a = null; a = {
1:2
}; alert(a);
彈出的值是[object Object];
var a = null; a = { 1:2 }; alert(typeof a);
彈出的值(數據返回字符串)爲object,說明是Object數據類型;
(六)、Undefined
var a; alert(a);
彈出的值是undefined,由於沒有沒有定義a的值,因此爲undefined,可是這個undefined是一個值;
var a; alert(typeof a);
彈出的a的值(類型的返回字符串)是undefined,說明是Undefined數據類型。
var a = undefined; alert(a);
彈出的值爲undefined,這樣作沒有必要,由於undefined沒有賦值的時候默認是undefined。
(七)、Function
function a(){ } alert(a);
彈出的a的值爲function a(){ };
function a(){ } alert(typeof a);
彈出的值(類型返回字符串的值)爲function;a是Function函數,但不是Function類型,由於沒有Function類型;
(八)、關於undefined
undefined讓咱們知道一個道理,不要只聲明,不賦值;
var a; alert(b);
此時會報錯,ReferenceError: b is not defined ,b沒有被定義,不存在;
var a; alert(typeof b);
彈出的值(類型的返回字符串)爲undefined;
var a; alert(a);
彈出的值爲undefined;
var a; alert(typeof a);
彈出的值(類型的返回字符串)爲undefined,說明是Undefined數據類型
若是是值一個爲undefined,一個爲報錯,typeof中都是undefined,那麼,咱們要注意,給變量聲明的時候必定要賦值,防止發生以上的錯誤;
(八)、變量初始化
在(五)中提到了對象的初始化爲null,數值的初始化爲0,字符串的初始化爲空字符串,即(‘’);布爾值初始化通常是false或者true;
(九)、undefined與null的區別
undefined是派生自null的,打印undefined與null的值,以下:
alert(undefined == null);
彈出的值爲true;
爲何呢?undefined是不存在,未定義,null不存在,空的,他們都是空的,因此想等,理所固然是true;undefined是Undefind類型返回的字符串類型爲undefined,null是Null類型返回的字符串類型爲object,他們的類型不同,返回字符串也不同;
alert(undefined === null);
彈出的值爲false;
三個等號爲恆等,只有數值、數據類型都必須想等,才爲true;