數(shù)據(jù)類型

數(shù)據(jù)類型

為什么需要數(shù)據(jù)類型?

在計(jì)算機(jī)中,不同的數(shù)據(jù)所需占用的存儲(chǔ)空間是不同的,為了便于把數(shù)據(jù)分成所需內(nèi)存大小不同的數(shù)據(jù),充分利用存儲(chǔ)空間,于是定義了不同的數(shù)據(jù)類型。

數(shù)據(jù)類型分類

JS 把數(shù)據(jù)類型分為兩類,簡單數(shù)據(jù)類型,復(fù)雜數(shù)據(jù)類型 (complex)

①簡單數(shù)據(jù)類型 (基本數(shù)據(jù)類型/原始類型 (primitive)) ====>7 種?

1.Number====>數(shù)字類型,包含 整數(shù)型(如21?)和浮點(diǎn)型(如0.21)??

? JavaScript中數(shù)值的最大和最小值

? alert(Number.MAX_VALUE);?// 1.7976931348623157e+308(最大值)

? alert(Number.MIN_VALUE);?// 5e-324(最小值)

? alert(Infinity);? // Infinity? ? ? ? Infinity ,代表無窮大,大于任何數(shù)值

? alert(-Infinity);? // -Infinity? ? ? -Infinity ,代表無窮小,小于任何數(shù)值

? alert(NaN);? // NaN? ? ? ? ? ? ? ? NaN ,Not a number,代表一個(gè)非數(shù)值?

? isNaN()?用來判斷一個(gè)變量是否為非數(shù)字的類型,返回 true (不是數(shù)字)或者 false(是數(shù)字)

2.Boolean====>布爾類型,如 true, false, 等價(jià)于 1 和 0;

? ? 布爾類型有兩個(gè)值:true 和 false ,其中 true 表示真(對),而 false 表示假(錯(cuò))。

? ? 布爾型和數(shù)字型相加的時(shí)候, true 的值為 1 ,false 的值為 0。

3.String ====>字符串類型, 如”張三“, 注意咱們JS里面,字符串都帶引號(hào) '? ' , "? " ,單引號(hào)雙引號(hào)都可,成對(外單內(nèi)雙/外雙內(nèi)單)

==>字符串轉(zhuǎn)義符==>轉(zhuǎn)義符都是 \ 開頭的

\n換行符,n 是 newline 的意思

\ \斜杠 \

\'' 單引號(hào)

\"”雙引號(hào)

\ttab 縮進(jìn)

\b空白 退格

==>字符串長度....字符串是由若干字符組成的,這些字符的數(shù)量就是字符串的長度。通過字符串的?length?屬性可以獲取整個(gè)字符串的長度。

?var?strMsg?=?"我是帥氣多金的程序猿!";

? alert(strMsg.length);? ??// 顯示 11

==>字符串拼接,多個(gè)字符串之間可以使用 + 進(jìn)行拼接,其拼接方式為?字符串 + 任何類型 = 拼接之后的新字符串

經(jīng)常會(huì)將字符串和變量來拼接,變量可以很方便地修改里面的值

拼接前會(huì)把與字符串相加的任何類型轉(zhuǎn)成字符串,再拼接成一個(gè)新的字符串

//1.1 字符串 "相加"alert('hello'+' '+'world');// hello world

//1.2 數(shù)值字符串 "相加"alert('100'+'100');// 100100

//1.3 數(shù)值字符串 + 數(shù)值alert('11'+12);// 1112

變量是不能添加引號(hào)的,因?yàn)榧右?hào)的變量會(huì)變成字符串

如果變量兩側(cè)都有字符串拼接,口訣“引引加加 ”,刪掉數(shù)字,變量寫加中間

4.undefined ===>var a; 聲明了變量a ,但是沒有給值, 此時(shí) a 默認(rèn)值為 undefined(undefined 表示一個(gè)變量自然的、最原始的狀態(tài)值)

5.null=====>var a = null ; 聲明了變量 a 為空值(?null 則表示一個(gè)變量被人為的設(shè)置為空對象,而不是原始狀態(tài)。)

6.?BigInt====>BigInt 類型是JS中一個(gè)基礎(chǔ)的數(shù)值類型,可表示任意精度的整數(shù)。

7.??Symbol===>符號(hào)(Symbols)類型是唯一且不可修改的原始值,并且可以用來作為對象的鍵(key)



②復(fù)雜數(shù)據(jù)類型 (complex)

? ? object

Array

RegExp

Date

Math

Function

獲取變量數(shù)據(jù)類型

type of? ? ? 可用來獲取檢測變量的數(shù)據(jù)類型

var num = 18;

console.log(typeof num)? ? // 結(jié)果 number


字符串類型的轉(zhuǎn)換

通常會(huì)實(shí)現(xiàn)3種方式的轉(zhuǎn)換:

1.轉(zhuǎn)換為字符串類型 2.轉(zhuǎn)換為數(shù)字型 3.轉(zhuǎn)換為布爾型

1.轉(zhuǎn)換為字符串類型?

toString() 和 String() 使用方式不一樣。

三種轉(zhuǎn)換方式,更多第三種加號(hào)拼接字符串轉(zhuǎn)換方式, 這一種方式也稱之為隱式轉(zhuǎn)換。

2.轉(zhuǎn)換為數(shù)字型

注意?parseInt 和 parseFloat 單詞的大小寫,這2個(gè)是重點(diǎn)

隱式轉(zhuǎn)換是我們在進(jìn)行算數(shù)運(yùn)算的時(shí)候,JS 自動(dòng)轉(zhuǎn)換了數(shù)據(jù)類型

案例:

var year = prompt('請您輸入您的出生年份');

var age = 2018 - year; // year 取過來的是字符串型 但是這里用的減法 有隱式轉(zhuǎn)換

alert('您今年已經(jīng)' + age + '歲了');

3.轉(zhuǎn)換為布爾型

代表空、否定的值會(huì)被轉(zhuǎn)換為false ,如 ''、0、NaN、null、undefined

其余值都會(huì)被轉(zhuǎn)換為 true

console.log(Boolean('')); // false

console.log(Boolean(0)); // false

console.log(Boolean(NaN)); // false

console.log(Boolean(null)); // false

console.log(Boolean(undefined)); // false

console.log(Boolean('小白')); // true

console.log(Boolean(12)); // true

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

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

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