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


1. 數(shù)據(jù)類型簡(jiǎn)介

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

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

1.2 變量的數(shù)據(jù)類型

變量是用來存儲(chǔ)值的所在處,它們有名字和數(shù)據(jù)類型专缠。變量的數(shù)據(jù)類型決定了如何將代表這些值的位存儲(chǔ)到計(jì)算機(jī)的內(nèi)存中雷酪。
JavaScript是一種弱類型或者說動(dòng)態(tài)語言。這意味著不用提前聲明變量的類型涝婉,在程序運(yùn)行過程中哥力,類型會(huì)被自動(dòng)確定。

var num; // 這里的num 不確認(rèn)屬于哪種數(shù)據(jù)類型
var num = 10; // 這是一個(gè)數(shù)字型
var areYouOk = '是的'; // 這一個(gè)字符串

在代碼運(yùn)行時(shí)墩弯,變量的數(shù)據(jù)類型是由 JS引擎根據(jù)=右邊變量值的數(shù)據(jù)類型來判斷的吩跋,運(yùn)行完畢之后,變量就確定了數(shù)據(jù)類型渔工。


2. 簡(jiǎn)單數(shù)據(jù)類型

JS把數(shù)據(jù)類型分為兩類:
(1)簡(jiǎn)單數(shù)據(jù)類型(Number锌钮,String,Boolean引矩,Undefined梁丘,Null)
(2)復(fù)雜數(shù)據(jù)類型(object)

2.1 簡(jiǎn)單數(shù)據(jù)類型(基本數(shù)據(jù)類型)

簡(jiǎn)單數(shù)據(jù)類型 說明 默認(rèn)值
Number 數(shù)字型侵浸,包含 整型值和浮點(diǎn)型值,如 21兰吟、0.21 0
String 字符串類型通惫,如“張三”注意js 里面,字符串都帶引號(hào) ""
Boolean 布爾值類型混蔼,如true、false珊燎,等價(jià)于1和0 false
Undefined var a;聲明了變量a但是沒有給值惭嚣,此時(shí)a = undefined undefined
Null var a = nul; 聲明了變量a 為空值 nul

2.2 數(shù)字型 Number

JavaScript數(shù)字類型既可以用來保存整數(shù)值,也可以保存小數(shù)(浮點(diǎn)數(shù))悔政。

2.2.1 Number:數(shù)字型進(jìn)制

(1)八進(jìn)制 0 ~ 7 程序里面數(shù)字前面加 0 表示八進(jìn)制
var num1 = 010; // 010 八進(jìn)制 轉(zhuǎn)換為 十進(jìn)制 就是 8
var num2 = 012; // 012 八進(jìn)制 轉(zhuǎn)換為 十進(jìn)制 就是 10
(2)十六進(jìn)制 0 ~ 9 a ~ f 數(shù)字前面加 0x 表示十六進(jìn)制
var num3 = 0x9; // 0x9 十六進(jìn)制 轉(zhuǎn)換為 十進(jìn)制 就是 9
var num4 = 0xa; // 0xa 十六進(jìn)制 轉(zhuǎn)換為 十進(jìn)制 就是 10
現(xiàn)階段只需要記住晚吞,在JS中八進(jìn)制前面加0,十六進(jìn)制前面加 0x

2.2.2 Number:數(shù)字型范圍

Number是數(shù)字類型谋国,JavaScript中數(shù)值的最大和最小值
Number.MAX_VALUE
Number.MIN_VALUE

2.2.3 Number:數(shù)字型的三個(gè)特殊值

Infinity槽地,代表無窮大,大于任何數(shù)值
-Infinity芦瘾,代表無窮小捌蚊,小于任何數(shù)值
NaN,Not a number近弟,代表一個(gè)非數(shù)值

2.2.4 Number:isNaN()

用來判斷非數(shù)字缅糟,并且返回一個(gè)值,如果是數(shù)字返回的是false祷愉,如果不是數(shù)字返回的是true

2.3 字符串型 String

字符串型可以是引號(hào)中的任意文本窗宦,其語法為雙引號(hào)""和 單引號(hào)''
因?yàn)?HTML 標(biāo)簽里面的屬性使用的是雙引號(hào),JS這里更推薦使用單引號(hào)二鳄。

2.3.1 String:字符串引號(hào)嵌套

JS 可以用單引號(hào)嵌套雙引號(hào)赴涵,或者用雙引號(hào)嵌套單引號(hào)(外雙內(nèi)單,外單內(nèi)雙)

2.3.2 String:字符串轉(zhuǎn)義符
轉(zhuǎn)義符 解釋說明
\n 換行符订讼,n 是newline的意思
\ \ 斜杠 \
\ ' ' 單引號(hào)
\ * " 雙引號(hào)
\t tab縮進(jìn)
\b 空格髓窜,b 是blank的意思
2.3.3 String:字符串長(zhǎng)度

字符串是由若干字符組成的,這些字符的數(shù)量就是字符串的長(zhǎng)度躯嫉。通過字符串的length 屬性可以獲取整個(gè)字符串的長(zhǎng)度纱烘。

2.3.4 String:字符串拼接
  • 多個(gè)字符串之間可以使用 + 進(jìn)行拼接,其拼接方式為字符串 + 任何類型 = 拼接之后的新字符串
  • 拼接前會(huì)把與字符串相加的任何類型轉(zhuǎn)成字符串祈餐,再拼接成一個(gè)新的字符串

2.4 布爾型 Boolean

布爾類型有兩個(gè)值:true和false擂啥。
布爾型和數(shù)字型相加的時(shí)候,true的值為1帆阳,false的值為0哺壶。

2.5 Undefined 和 Null

一個(gè)聲明后沒有被賦值的變量會(huì)有一個(gè)默認(rèn)值undefined(如果進(jìn)行相連或者相加時(shí)屋吨,注意結(jié)果)
var variable = undefined;
console.log(variable + '6'); // undefined6
console.log(variable + 6); // NaN

一個(gè)聲明變量給null值,里面存的值為空山宾。
var space = null;
console.log(space + '1'); // null1
console.log(space + 1); // 1


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

3.1 獲取檢測(cè)變量的數(shù)據(jù)類型

typeof 可用來獲取檢測(cè)變量的數(shù)據(jù)類型
var num = 10;
console.log(typeof num); // number


4. 數(shù)據(jù)類型轉(zhuǎn)換

4.1 什么是數(shù)據(jù)類型轉(zhuǎn)換

使用表單至扰、prompt獲取過來的數(shù)據(jù)默認(rèn)是字符串類型的,此時(shí)就不能直接簡(jiǎn)單的進(jìn)行加法運(yùn)算资锰,而需要轉(zhuǎn)換變量的數(shù)據(jù)類型敢课。
通俗來說,就是把一種數(shù)據(jù)類型的變量轉(zhuǎn)換成另外一種數(shù)據(jù)類型绷杜。
通常會(huì)實(shí)現(xiàn)3種方式的轉(zhuǎn)換:

  • 轉(zhuǎn)換為字符串類型
  • 轉(zhuǎn)換為數(shù)字型
  • 轉(zhuǎn)換為布爾型

4.2 轉(zhuǎn)換為字符串

方式 說明 案例
變量.toString() 轉(zhuǎn)成字符串 var num = 1; alert(num.toString());
String(變量) 強(qiáng)制轉(zhuǎn)換 轉(zhuǎn)成字符串 var num = 1; alert(String(num));
? 加號(hào)拼接字符串 和字符串拼接的結(jié)果都是字符串 var num = 1; alert(num + '我是字符串');

4.3 轉(zhuǎn)換為數(shù)字型(重點(diǎn))

方式 說明 案例
? parseInt(string)函數(shù) 將string類型轉(zhuǎn)成整數(shù)數(shù)值型 parseInt('78')
? parseFloat(string)函數(shù) 將string類型轉(zhuǎn)成浮點(diǎn)數(shù)數(shù)值型 parseInt('78.21')
Number(string)強(qiáng)制轉(zhuǎn)換 將string類型轉(zhuǎn)換為數(shù)值型 Number('12')
js隱式轉(zhuǎn)換(- * /) 利用算數(shù)運(yùn)算隱式轉(zhuǎn)換為數(shù)值型 '12....................' - 0

4.4 轉(zhuǎn)換為布爾型

方式 說明 案例
Boolean()函數(shù) 其他類型轉(zhuǎn)成布爾值 Boolean('true')
  • 代表 空直秆、否定的值 會(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)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末筝野,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子粤剧,更是在濱河造成了極大的恐慌歇竟,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俊扳,死亡現(xiàn)場(chǎng)離奇詭異途蒋,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)馋记,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門号坡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人梯醒,你說我怎么就攤上這事宽堆。” “怎么了茸习?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵畜隶,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我号胚,道長(zhǎng)籽慢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任猫胁,我火速辦了婚禮箱亿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘弃秆。我一直安慰自己届惋,他們只是感情好髓帽,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著脑豹,像睡著了一般郑藏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瘩欺,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天必盖,我揣著相機(jī)與錄音,去河邊找鬼击碗。 笑死筑悴,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的稍途。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼砚婆,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼械拍!你這毒婦竟也來了忌栅?” 一聲冷哼從身側(cè)響起惨撇,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤谜喊,失蹤者是張志新(化名)和其女友劉穎辣吃,沒想到半個(gè)月后送膳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铅祸,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡省有,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年澜掩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了账磺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芹敌。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖垮抗,靈堂內(nèi)的尸體忽然破棺而出氏捞,到底是詐尸還是另有隱情,我是刑警寧澤冒版,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布液茎,位于F島的核電站,受9級(jí)特大地震影響辞嗡,放射性物質(zhì)發(fā)生泄漏捆等。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一续室、第九天 我趴在偏房一處隱蔽的房頂上張望栋烤。 院中可真熱鬧,春花似錦猎贴、人聲如沸班缎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽达址。三九已至蔑祟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間沉唠,已是汗流浹背疆虚。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留满葛,地道東北人径簿。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像嘀韧,于是被迫代替她去往敵國(guó)和親篇亭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容