基本的數(shù)據(jù)類型有:undefined,boolean,number,string,null。基本類型的訪問是按值訪問的,就是說你可以操作保存在變量中的實(shí)際的值。
枚舉
codetypeofcode操作符在任何變量上工作,并返回一個(gè)指示類型的字符串?dāng)?shù)據(jù)。
下面顯示使用typeof時(shí)的輸出不同原始值。
console.log(typeof "Javascript");
console.log(typeof 10);
console.log(typeof 1.1);
console.log(typeof true);
console.log(typeof undefined);
上面的代碼生成以下結(jié)果。
typeof
當(dāng)值為整數(shù)或浮點(diǎn)值時(shí)返回?cái)?shù)字。
以下代碼顯示未初始化的變量具有未定義的類型。
var a;
console.log(typeof a);
上面的代碼生成以下結(jié)果。
undefined
null字面量是一個(gè)病例。
typeof null
返回對(duì)象。
console.log(typeof null);
上面的代碼生成以下結(jié)果。
例子
確定值是否為null的最好方法是比較它null直接,像這樣
var string1 = red;
console.log(string1 === null);
string1 = null;
console.log(string1 === null);
注意
上面的代碼生成以下結(jié)果。
上面的代碼使用三元等于運(yùn)算符 ===
而不是雙精度equals運(yùn)算符 ==
。
三元組等于比較而不強(qiáng)制變量到另一個(gè)類型。
將變量強(qiáng)制轉(zhuǎn)換為另一個(gè)類型意味著將變量從一個(gè)轉(zhuǎn)換類型到另一個(gè)。
要理解強(qiáng)制,請(qǐng)考慮以下內(nèi)容:
console.log("1" == 1); // true
console.log("1" === 1); // false
console.log(undefined == null); // true
console.log(undefined === null); // false
上面的代碼生成以下結(jié)果。
當(dāng)使用double等于 ==
時(shí),字符串“1"和數(shù)字1認(rèn)為相等,因?yàn)閐ouble equals將字符串轉(zhuǎn)換為a數(shù)字比較之前。
三元組等于 ===
運(yùn)算符考慮這些值相等,因?yàn)樗鼈兪莾煞N不同類型。即使它們?cè)谵D(zhuǎn)換后具有相同的數(shù)值。
基本類型變量的存儲(chǔ)
基本類型的變量在聲明賦值后將存儲(chǔ)于棧內(nèi)存中。
假設(shè)兩個(gè)變量:
var name = 'W3Cschool';
var city = 'xiamen';
那么它在棧區(qū)的存儲(chǔ)如下:
變量名 | 值 |
name | W3Cschool |
city | xiamen |
更多建議: