JavaScript中變量的數(shù)據(jù)類型
變量數(shù)據(jù)類型簡(jiǎn)介
變量是有數(shù)據(jù)類型的,這個(gè)類型來(lái)源于“變量的值”,換句話說(shuō):值是什么類型的,變量就是什么類型的。
JS中變量的類型有:
數(shù)值型、字符型、布爾型、undefined、null、array、object、function
這八種數(shù)據(jù)類型,又分為兩大類:
基本數(shù)據(jù)類型:數(shù)值型、字符型、布爾型、未定義型、空型。很顯著的特點(diǎn):一個(gè)變量名只能存一個(gè)值。
舉例:var a = 10;
復(fù)合數(shù)據(jù)類型:數(shù)組、對(duì)象、函數(shù)。顯著的特點(diǎn):一個(gè)變量名,可能存多個(gè)值。
?舉例:var arr = [10,20,30,40]
本節(jié)我們介紹基本數(shù)據(jù)類型,復(fù)合數(shù)據(jù)類型會(huì)在之后的章節(jié)中詳細(xì)介紹
數(shù)值型:變量能進(jìn)行數(shù)學(xué)運(yùn)算的
數(shù)值型包括:整型、浮點(diǎn)型、NaN。
var a = 100;
var a = 0.9;
var a = 0;
注數(shù):值型中還有一個(gè)很特殊的值NaN。 NaN(not a number)不是一個(gè)數(shù)字。
當(dāng)將其它數(shù)據(jù)類型,轉(zhuǎn)成數(shù)值型,轉(zhuǎn)不過(guò)去,但程序又不能報(bào)錯(cuò),這時(shí)將返回一個(gè)NaN的值。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script> //現(xiàn)在我們想讓一個(gè)東西的長(zhǎng)度變成原來(lái)的10倍 var length = "300m"; /* 一個(gè)字符串,是不能轉(zhuǎn)換成有意義的數(shù)值的,只能轉(zhuǎn)換成NaN 一個(gè)含純數(shù)字的字符串,可以轉(zhuǎn)成有意義的數(shù)值,大家可以修改length為純數(shù)字的字符串,輸出查看結(jié)果 */ length = length*10; document.write(length); </script> </head> <body> </body> </html>
字符型:用單引號(hào)或雙引號(hào),引起來(lái)的一個(gè)字串。
var a = “這是一個(gè)字符串”;
var b = '這也是一個(gè)字符串';
var c = “”;
單引號(hào)和雙引號(hào)之間可以相互嵌套
?單引號(hào)內(nèi)只能嵌套雙引號(hào);
雙引號(hào)內(nèi)只能嵌套單引號(hào)。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script type="text/javascript"> var name = "小明"; //加號(hào)為字符串連接符,我們之后會(huì)介紹 var str = "我的名字叫做'" +name+"'" document.write(str) </script> </head> <body> </body> </html>
如果想在雙引號(hào)內(nèi),再嵌套雙引號(hào),里面的雙引號(hào),一定要進(jìn)行轉(zhuǎn)義(”)。
JS中的轉(zhuǎn)義字符是反斜杠()。
常用的轉(zhuǎn)義字符有:'、”、\、r、n等。
也就是,當(dāng)瀏覽器遇到反斜杠()時(shí),將會(huì)對(duì)其后的一個(gè)字符進(jìn)行特殊對(duì)待,當(dāng)成普通字符來(lái)對(duì)待。所謂“普通”字符就是a、b、c、&等。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script type="text/javascript"> var name = "小明"; //加號(hào)為字符串連接符,我們之后會(huì)介紹 var str = "我的名字叫做\"" +name+"\"" document.write(str) </script> </head> <body> </body> </html>
布爾型
布爾型又稱邏輯型。只有兩個(gè)值:true(真)、false(假)。
布爾型只有兩個(gè)狀態(tài)。如:性別、婚否、燈的開(kāi)關(guān)、是否列入黑名單等。
var a = true;
var b = false;
布爾型常用if條件判斷語(yǔ)句中(條件判斷語(yǔ)句我們?cè)谥笳鹿?jié)介紹,大家先觀察結(jié)果)
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script type="text/javascript"> var x = 10; var y = 110; //x>y比較出來(lái)的結(jié)果是布爾值 if(x>y){ document.write(x+"比"+y+"大些"); }else{ document.write(y+"比"+x+"大些"); } </script> </head> <body> </body> </html>
未定義型
當(dāng)一個(gè)變量定義,但未賦值時(shí),將返回未定義型,未定義型的值只有一個(gè)undefined。
當(dāng)一個(gè)對(duì)象的屬性不存在,也返回未定義型。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script type="text/javascript"> var x; document.write(x); </script> </head> <body> </body> </html>
空型
當(dāng)一個(gè)對(duì)象不存在時(shí),將返回空型,空型的值只有一個(gè)null。
也可以理解為:是一個(gè)對(duì)象的占位符。
如果你想清除一個(gè)變量的值的話,可以給賦一個(gè)null的值。
var a = 100;
var a = null?; ?//將一個(gè)null賦給一個(gè)變量,用于清除它的值
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script type="text/javascript"> var x = null; document.write(x); </script> </head> <body> </body> </html>