JavaScript 入門(二、JavaScript數(shù)據(jù)類型)

1.基本數(shù)據(jù)類型

a.字符串
b.數(shù)值型
c.布爾型

2.復(fù)合數(shù)據(jù)類型

a.對象
b.數(shù)組

3.其他數(shù)據(jù)類型

a.函數(shù)
b.null
c.undefined

字符串型

字符串型是JavaScript中用來表示文本的數(shù)據(jù)類型,是由Unicode字符、數(shù)字和標(biāo)點符號組成的一個字符串序列。字符串通常是由單引號或是雙引號括起來的。
1.單引號和雙引號均可解析轉(zhuǎn)義字符
2.單引號和雙引號均不能解析變量
3.變量與字符串、變量與變量要使用+來連接。
4.單引號和雙引號可以互相嵌套,如果單引號中要嵌套單引號,需要將單引號轉(zhuǎn)義,同理,雙引號相同。

數(shù)值類型

最基本的數(shù)值字面量格式是

1.十進(jìn)制整數(shù):
var num = 10;

除了以十進(jìn)制表示外,整數(shù)還可以通過八進(jìn)制或十六進(jìn)制的字面值來表示:

var num = 070;  //八進(jìn)制數(shù),以0開頭

var num = 0xA;  //十六進(jìn)制數(shù),以0x開頭

注意:雖然數(shù)值可以用八進(jìn)制或十六進(jìn)制來表示,但在進(jìn)行算術(shù)計算時,所有以八進(jìn)制和十六進(jìn)制表示的數(shù)值都將轉(zhuǎn)換成十進(jìn)制數(shù)值。

2.浮點數(shù)值

所謂浮點數(shù)值,就是該數(shù)值中必須包含一個小數(shù)點,并且小數(shù)點后面必須至少有一位數(shù)字。

var num = 1.1;
var num = 0.1;
var num = .1;   //有效,但不推薦

如果小數(shù)點后面沒有跟任何數(shù)字(如1.),可以作為整數(shù)值來保存。
如果浮點數(shù)值本身表示的就是一個整數(shù)(如1.0),該值會被轉(zhuǎn)為整數(shù)
可以使用e來表示科學(xué)計數(shù)法。

var num = 1.2e3;    //等于1200

浮點數(shù)值的最高精度是17位小數(shù),但在進(jìn)行算術(shù)計算時其精度遠(yuǎn)遠(yuǎn)不如整數(shù)。

注意:永遠(yuǎn)不要測試某個特定的浮點數(shù)的值!
例如:

    var a = 0.1;
    var b = 0.2;
    if(a+b == 0.3){
        alert(“輸出了”);
    }                    //這里是不會彈出的!
3.NaN

NaN,即非數(shù)值(Not a Number)是一個特殊的數(shù)值,這個數(shù)值用于表示一個本來要返回數(shù)值的操作數(shù)未返回數(shù)值的情況。
例如:在其他語言中,任何數(shù)值除以0都會導(dǎo)致錯誤。但在JavaScript中,任何數(shù)值除以0會返回NaN,因此不會影響其他代碼的運行。
NaN的特點:
1.任何涉及NaN的操作,結(jié)果都為NaN
2.NaN與任何值都不相等,包括NaN本身。例如:下面的代碼會返回false

alert(NaN == NaN);  //false

數(shù)值轉(zhuǎn)換:
我們可以使用三個函數(shù)Number()、parseInt()和parseFloat()將一個非數(shù)值轉(zhuǎn)換為數(shù)值。
Number()函數(shù)的轉(zhuǎn)換規(guī)則:
1.如果是布爾值,true和false將分別轉(zhuǎn)換為1和0
2.如果是數(shù)字值,只是簡單的傳入和返回
3.如果是null,返回0
4.如果undefined,返回NaN
5.如果是字符串,遵循下列規(guī)則:
a.“11”會變成11
b.“1.1”會變成1.1
c.“0xf”會變成相同大小的十進(jìn)制整數(shù)值
d. 如果字符串是空的,則將其轉(zhuǎn)換為0
e. 如果字符串包含除上述格式之外的字符,則將其轉(zhuǎn)換成NaN

var num = Number("hello"); 
console.log(num)     //NaN

var num = Number("");
console.log(num)    //0

var num = Number("000011");
console.log(num)   //11

var num = Number(true);
console.log(num)  //1

parseInt()的轉(zhuǎn)換規(guī)則:
1.忽略字符串前面的空格,直到找到第一個非空格字符
2.如果第一個字符不是數(shù)字或者是負(fù)號,返回NaN
3.空字符串,返回NaN
4.如果第一個字符是數(shù)字,會繼續(xù)解析第二個字符,直到解析完所有后續(xù)字符或遇到了一個非數(shù)字字符。
5.如果字符串以0x開頭且后面跟數(shù)字字符,就會將其轉(zhuǎn)為10進(jìn)制數(shù),同樣,八進(jìn)制也一樣。

   var a = parseInt("1234blue");
    console.log(a)  //1234

    var a =parseInt("");
    console.log(a) // NaN

    var a =parseInt("0xA");
    console.log(a) // 10

    var a =parseInt(22.5);
    console.log(a) // 22

    var a =parseInt("070");
    console.log(a)  //70

    var a =parseInt("70");
    console.log(a)  //70

    var a =parseInt("0xf");
    console.log(a) // 15

parseFloat()也是從第一個字符開始解析每個字符,而且也是一直解析到字符串末尾,或者解析到遇見一個無效的浮點數(shù)字字符為止。規(guī)則如下:
1.第一個小數(shù)點是有效的,第二個小數(shù)點無效
2.始終忽略前面的0,不分進(jìn)制數(shù)
3.十六進(jìn)制會被轉(zhuǎn)換成0
4.空字符串轉(zhuǎn)換為NaN

var num= parseFloat("1234blue");
console.log(num); //1234 
var num= parseFloat("0xA");
console.log(num); //0
var num=  parseFloat("");
console.log(num); //NaN
var num=  parseFloat("22.5");
console.log(num); //22.5
var num=  parseFloat("22.34.5");
console.log(num); //22.34
var num=  parseFloat("070.5"); 
console.log(num); //70.5
var num=  parseFloat("3.12e7");
console.log(num); //31200000

布爾類型

布爾類型的字面值只有兩個,true和false,可以使用Boolean()函數(shù)將一個非布爾類型轉(zhuǎn)換為布爾類型。
注意:true和false是嚴(yán)格區(qū)分大小寫的

var res=Boolean(undefined);
console.log(res);
js轉(zhuǎn)化為布爾為假的有:
false
""
0
NaN
undefined
null

a.對象

對象其實就是一些數(shù)據(jù)的集合,這些數(shù)據(jù)可以是字符串型、數(shù)字型和布爾型,也可以是復(fù)合型。

b.數(shù)組

數(shù)組與對象一樣,也是一些數(shù)據(jù)的集合,這些數(shù)據(jù)也可以是字符串型、數(shù)字型、布爾型、或者是復(fù)合型。與對象不同,數(shù)組中的數(shù)據(jù)并沒有命名,不能通過名字來引用該數(shù)據(jù)。在數(shù)組中,為每個數(shù)據(jù)都編了一個號(從0開始),為數(shù)組的下標(biāo)

a.函數(shù)

函數(shù)是一段可執(zhí)行的JavaScript代碼,在JavaScript中,函數(shù)可以帶有0個或多個參數(shù),也可以返回一個值或不返回值。

b.null

null是一個特殊的數(shù)據(jù)類型,其所代表的意思是“空”。需要注意,這個空并不代表是0或空字符串。null代表沒有值,不是一個有效的數(shù)字、字符串、也不是數(shù)組、對象和函數(shù),什么數(shù)據(jù)類型都不是。

c.undefined

undefined也是一個特殊的數(shù)據(jù)類型,只有定義了一個變量但沒有為該變量賦值,使用了一個并未定義的變量、或者是使用了一個不存在的對象的屬性時,JavaScript會返回undefined。
undefined與null的區(qū)別:
Undefined類型只有一個值,即undefined。當(dāng)聲明的變量還未被初始化時,變量的默認(rèn)值為undefined。
Null類型也只有一個值,即null。null用來表示尚未存在的對象,常用來表示函數(shù)企圖返回一個不存在的對象。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容