官术网_书友最值得收藏!

  • JavaScript百煉成仙
  • 楊逸飛編著
  • 942字
  • 2023-09-26 16:16:26

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

修行還在繼續(xù),隨著對(duì)要訣理解的深入,葉小凡明白,在編程世界中,剛才的直接量都屬于一種數(shù)據(jù),如同人有男女之分一樣,數(shù)據(jù)也是有類型的。在JavaScript中,數(shù)據(jù)可分為兩類,分別為原生數(shù)據(jù)類型(primitive type)和對(duì)象數(shù)據(jù)類型(object type)。

葉小凡心念一動(dòng),數(shù)字“6”立刻浮現(xiàn)在他體內(nèi)的內(nèi)存元海中,同時(shí),為了不讓數(shù)字消失,他還專門定義了一個(gè)變量指向這個(gè)數(shù)字。

     var num = 6;

葉小凡心中已有明悟,這個(gè)數(shù)字字符串都屬于原生數(shù)據(jù)類型。那么,還有其他原生數(shù)據(jù)類型嗎?隨著心念掃過要訣,一炷香的時(shí)間后,葉小凡已經(jīng)若有所悟。原來,原生數(shù)據(jù)類型包括數(shù)字、字符串、布爾值,還有兩個(gè)特殊的類型:nullundefined

“布爾值,”葉小凡口中喃喃,“它是一種只有true和false兩種狀態(tài)的類型。”嗯,就好像以前自己在村子里點(diǎn)蠟燭,要么蠟燭亮起來,要么蠟燭熄滅,只有這兩種狀態(tài)。至于null和undefined,葉小凡略一皺眉,結(jié)合秘籍,開始了感悟。

一炷香的時(shí)間過去了,葉小凡猛地睜眼,呼吸都有點(diǎn)急促。

“我明白了!從用法上來看,null和undefined都代表了直接量的空缺,如果一個(gè)變量指向了其中任何一個(gè),都代表false的含義,也表示沒有或空的概念。而從根本意義上講,undefined要比null更加嚴(yán)重一點(diǎn),代表本不應(yīng)該出現(xiàn)的錯(cuò)誤,比如我剛才定義了一個(gè)變量a,但是我沒有把任何直接量賦給它,那么a就默認(rèn)指向了undefined;而null不同,有的時(shí)候,我需要給某些變量賦值null,以達(dá)到清空的目的。”

拓展閱讀

JavaScript包括直接量和變量。首先說直接量,什么是直接量呢?在JavaScript的世界里,直接量包含數(shù)值(如10/20)、邏輯值(true/false)、字符串(如“nihao”)、null、undefined、對(duì)象和函數(shù)。其中,函數(shù)也稱方法,對(duì)象和函數(shù)會(huì)在之后的章節(jié)中慢慢介紹。你暫時(shí)可以認(rèn)為對(duì)象是存放數(shù)據(jù)的一個(gè)容器,而函數(shù)是應(yīng)用程序處理某一系列邏輯的一個(gè)過程設(shè)計(jì)。

null是一個(gè)特殊的關(guān)鍵字,表示沒有值;null也是一個(gè)原始值,因?yàn)镴avaScript是大小寫敏感的,所以null和Null、NULL或者其他變量是有區(qū)別的。

undefined是一個(gè)頂級(jí)屬性,它代表某一個(gè)變量未定義。同樣,undefined也是一個(gè)原始值。

說完直接量,再來說變量。所謂變量,就是指向了某個(gè)直接量或者其他變量的“鑰匙”。比方說,把一個(gè)直接量true比作一扇門,然后定義一個(gè)變量flag,最后通過賦值運(yùn)算符“=”將這個(gè)true賦值給flag,這樣就完成了一個(gè)變量的綁定。

從此以后,你在別處使用變量flag,也就相當(dāng)于使用了直接量true。簡單來說,就是這么回事。

主站蜘蛛池模板: 玉溪市| 阜阳市| 井陉县| 揭东县| 贵州省| 璧山县| 六安市| 永安市| 阜康市| 蒙城县| 融水| 永年县| 陇西县| 黔江区| 随州市| 台北市| 宁都县| 久治县| 鹿邑县| 栖霞市| 克拉玛依市| 鹤庆县| 莆田市| 江油市| 得荣县| 泽州县| 兴安盟| 怀柔区| 宁河县| 武乡县| 喀喇沁旗| 额济纳旗| 凤冈县| 聂荣县| 赤水市| 砚山县| 临澧县| 桑植县| 徐汇区| 阳西县| 哈尔滨市|