Javascript 數(shù)據(jù)類型分為兩種:簡(jiǎn)單(原始、基本)數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型。
簡(jiǎn)單數(shù)據(jù)類型有5種:
undefined:未定義類型;
null:空類型;
number:數(shù)值類型;
boolean:布爾類型;
string:字符類型;
復(fù)雜數(shù)據(jù)類型有一種:
object:對(duì)象類型;
undefined類型只有一個(gè)值,即undefined;
表示,如果變量沒(méi)有定義或者賦值的話,那么它的類型為undefined;
null:類型與undefined一樣都只有一個(gè)值,即null;
undefined是從null中派生出來(lái)的,
null的類型為object;
number:數(shù)值類型,包括:NaN和所有數(shù)值。
NaN不是一個(gè)數(shù)值,他是特殊的數(shù)值類型。
表示本來(lái)要返回?cái)?shù)值的操作數(shù)未返回?cái)?shù)值的情況。
數(shù)值的轉(zhuǎn)換:
Number:()可以把空集轉(zhuǎn)換成0和true、false轉(zhuǎn)換成0、1,但是只能轉(zhuǎn)換數(shù)值,
parseInt:()轉(zhuǎn)換成整數(shù),但是不能轉(zhuǎn)換true和false,空集轉(zhuǎn)換成NaN,還可以:parseInt:(123456a)轉(zhuǎn)換成123456.
parsefloat:()轉(zhuǎn)換小數(shù),但只能識(shí)別出第一個(gè)小數(shù)點(diǎn),其它特質(zhì)與parseInt一樣。
boolean:布爾,只有兩個(gè)值即true和false,分別對(duì)應(yīng)真和假。
各種數(shù)據(jù)類型轉(zhuǎn)換布爾類型規(guī)則
數(shù)據(jù)類型 轉(zhuǎn)化為true的值 轉(zhuǎn)化為false的值
Boolean true false
String 任何非空字符串 "" (空字符串)
Number 任何非零數(shù)值(包括無(wú)窮大) 0和NaN(非數(shù)值)
Object 任何對(duì)象 null
Undefined 無(wú) undefined
1、除0和NaN之外的所有數(shù)字,轉(zhuǎn)換為布爾型都為true
2、除"" 之外的所有字符,轉(zhuǎn)換為布爾型都為true
3、null和undefined轉(zhuǎn)換為布爾型為false
string:字符轉(zhuǎn)換,可以將value轉(zhuǎn)換為字符串。
查看字符的長(zhǎng)度:
console.log(XX.length);
查看字符相對(duì)應(yīng)的位置:
console.log(XX【2】);
轉(zhuǎn)化為字符串的2種方法:
1).toString()
數(shù)組、布爾值、對(duì)象和字符串值都有toString()方法。
但null和undefined值沒(méi)有這個(gè)方法。
例:
var arr = [1,2,3,4];
console.log(arr.toString());
注意:toString()可以傳遞一個(gè)參數(shù):輸出數(shù)值的基數(shù)
2)String(變量)
強(qiáng)轉(zhuǎn)函數(shù),可以轉(zhuǎn)化任何類型的值
例:var num1;
String(123) // "123"
String(3>4) // "false"
String(3<4) // "true"
String(num1) // "undefined"
String(null) // "null"
"+"也可以把某個(gè)值轉(zhuǎn)換為字符串,也可以拼接多個(gè)字符串。
var str = 111+""; //"111"
var str = "hello" + " world"; //"hello world"
*Object :對(duì)象類型 :ECMAScript中的對(duì)象其實(shí)就是一組數(shù)據(jù)和功能的集合;
<script>
var ojb={
bada:"超級(jí)爆款套餐",
jiage:98,
now:89
}
console.log(`名稱:${ojb.bada},原價(jià):${ojb.jiage}元,現(xiàn)價(jià):${ojb.now}元`)
</script>
后臺(tái)顯示:
