JS有哪些數(shù)據(jù)類型和常用方法?

大家好,我是IT修真院深圳分院第04期學(xué)員,一枚正直善良的web程序員。

今天給大家分享一下,修真院官網(wǎng) js任務(wù)中可能會(huì)使用到的知識(shí)點(diǎn):

JS有哪些數(shù)據(jù)類型和常用方法?


1.背景介紹

JavaScript

一種直譯式腳本語言,是一種動(dòng)態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型。它的解釋器被稱為JavaScript引擎,是瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML(超文本標(biāo)記語言)網(wǎng)頁上使用,用來給HTML網(wǎng)頁增加動(dòng)態(tài)功能。


2.知識(shí)剖析

2.1 JS有哪些數(shù)據(jù)類型?

JavaScript 語言的每一個(gè)值,都屬于某一種數(shù)據(jù)類型。JavaScript 的數(shù)據(jù)類型,共有七種。分別是undefined、null、boolean、number、string、object、Symbol。

1)UNDEFINED:UNDEFINED類型只有一個(gè)值,即特殊值UNDEFINED。在使用VAR聲明變量,但未對(duì)其加以初始化時(shí),這個(gè)變量值就是UNDEFINED。

2)NULL:NULL類型是第二個(gè)只有一個(gè)值的數(shù)據(jù)類型。其特殊值就是NULL。從邏輯角度上看,NULL是一個(gè)空的對(duì)象指針。而這也正是使用TYPEOF操作符檢測(cè)NULL值,會(huì)返回“OBJECT”的原因。

3)BOOLEAN:即布爾類型,該類型有兩個(gè)值:TRUE和FALSE。需要注意的是,BOOLEAN類型的字面值TRUE和FALSE是區(qū)分大小寫的。也就是說,TRUE和FALSE(以及其它的混合大小形式)都不是BOOLEAN值,只是標(biāo)識(shí)符。

4)NUMBER:該類型的表示方法有兩種形式,第一種是整數(shù),第二種為浮點(diǎn)數(shù)。整數(shù):可以通過十進(jìn)制,八進(jìn)制,十六進(jìn)制的字面值來表示。浮點(diǎn)數(shù):就是該數(shù)值中必須包含一個(gè)小數(shù)點(diǎn),且小數(shù)點(diǎn)后必須有一位數(shù)字。

5)STRING:STRING類型用于表示由零或多個(gè)16位的UNICODE字符組成的字符序列,即字符串。至于用單引號(hào),還是雙引號(hào),在JS中還是沒有差別的。記得成對(duì)出現(xiàn)。

6)OBJECT:OBJECT類型,稱為對(duì)象,是一組數(shù)據(jù)和功能(函數(shù))的集合。可以用NEW操作符后跟要?jiǎng)?chuàng)建的對(duì)象類型的名稱來創(chuàng)建。也可以用字面量表示法創(chuàng)建。在其中添加不同名(包含空字符串在內(nèi)的任意字符串)的屬性。

7)SYMBOL:ES6新增第七種的數(shù)據(jù)類型,SYMBOLS也是一個(gè)集,但它的元素既不是字符串也不是對(duì)象。SYMBOL生成一個(gè)全局唯一的值。

2.2 JS數(shù)據(jù)類型的常用方法

這里介紹7種:Boolean()、isNaN()、Number()、parseInt()、parseFloat()、toString()、String()。



3.常見問題

怎么樣判斷各種數(shù)據(jù)類型?

4.解決方案

這里介紹2種方法:typeof、instanceof.

1)typeof:用來判斷各種數(shù)據(jù)類型,有兩種寫法:typeof xxx ,typeof(xxx)

總結(jié):如果右邊的是基本類型,則typeof會(huì)嘗試得到最基本的類型,比如number,string等等,如果是函數(shù)名,那么則返回function,這里Object,Number,String,等等都可以看成函數(shù)名,如果右邊是一個(gè)基本的對(duì)象,則返回object(返回的都是小寫哦)。 注:我們發(fā)現(xiàn)typeof null,結(jié)果返回了object,這是一個(gè)很早之前的BUG,一直沿用至今。 試用范圍:如果通過typeof來判斷類型,適用于判定基本類型,或者判斷是否為函數(shù)(function)。

2)instanceof,返回的是一個(gè)布爾值

instanceof只能用來判斷對(duì)象和函數(shù),不能用來判斷字符串和數(shù)字等。 instanceof還可以判斷變量是否為數(shù)組。

5.編碼實(shí)戰(zhàn)

以上內(nèi)容。

6.拓展思考

JavaScript 類型轉(zhuǎn)換有哪些?以及如何轉(zhuǎn)換?

更多請(qǐng)參考:http://www.runoob.com/js/js-type-conversion.html


7.參考文獻(xiàn)

w3c:JavaScript數(shù)據(jù)類型

腳本之家:js判斷各種數(shù)據(jù)類型的方法

阮一峰:Javascript標(biāo)準(zhǔn)參考


8.更多討論

問:字符串轉(zhuǎn)數(shù)字用那種方式好?

字符串轉(zhuǎn)數(shù)字方法主要有三種

轉(zhuǎn)換函數(shù)、強(qiáng)制類型轉(zhuǎn)換、利用js變量弱類型轉(zhuǎn)換。

1. 轉(zhuǎn)換函數(shù):

js提供了parseInt()和parseFloat()兩個(gè)轉(zhuǎn)換函數(shù)。前者把值轉(zhuǎn)換成整數(shù),后者把值轉(zhuǎn)換成浮點(diǎn)數(shù)。只有對(duì)String類型調(diào)用這些方法,這兩個(gè)函數(shù)才能正確運(yùn)行;對(duì)其他類型返回的都是NaN(Not a Number)。

2. 強(qiáng)制類型轉(zhuǎn)換

還可使用強(qiáng)制類型轉(zhuǎn)換(type casting)處理轉(zhuǎn)換值的類型。使用強(qiáng)制類型轉(zhuǎn)換可以訪問特定的值,即使它是另一種類型的。

Number()的強(qiáng)制類型轉(zhuǎn)換與parseInt()和parseFloat()方法的處理方式相似,只是它轉(zhuǎn)換的是整個(gè)值,而不是部分值。

最后一種強(qiáng)制類型轉(zhuǎn)換方法String()是最簡(jiǎn)單的,示例如下:

3. 利用js變量弱類型轉(zhuǎn)換

利用了js的弱類型的特點(diǎn),只進(jìn)行了算術(shù)運(yùn)算,實(shí)現(xiàn)了字符串到數(shù)字的類型轉(zhuǎn)換。

想要獲得完整的數(shù)值,使用parseInt()是最好的。



【JS-TASK01】JS有哪些數(shù)據(jù)類型和常用方法?_騰訊視頻


感謝大家觀看!

今天的分享就到這里啦,歡迎大家點(diǎn)贊、轉(zhuǎn)發(fā)、留言、拍磚!

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

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

  • 大家好,我是IT修真院鄭州分院第三期的學(xué)員高雪峰,一枚正直、純潔、善良的前端程序員 今天給大家分享一下,修真院官網(wǎng)...
    月如春秋閱讀 2,327評(píng)論 0 0
  • 小米是個(gè)缺乏安全感又獨(dú)立的女生,在沒遇到A先生之前,小米從未想過自己會(huì)這樣喜歡一個(gè)人,大概是久旱逢甘霖那般渴望...
    阿夢(mèng)呀y(tǒng)閱讀 521評(píng)論 0 1
  • 我第一次聽說勇敢可以習(xí)得,去看李笑來的文章就是有這般新的收獲。習(xí)得的方法也簡(jiǎn)單,就是放棄一部分的安全感。其實(shí)他講的...
    透明的橙閱讀 145評(píng)論 0 0
  • 我以為今天只是個(gè)普通的星期二。 走進(jìn)學(xué)校,學(xué)生和往常有些許差異。捉摸不透。也許是臉上的笑容,更燦爛。也許是某些...
    小椰閱讀 557評(píng)論 10 10
  • 背景:項(xiàng)目一直有WebView的crash問題難以解決,一堆看不懂的棧,沒有項(xiàng)目自己的棧,實(shí)在是無法復(fù)現(xiàn)也無法解決...
    花落似雪閱讀 1,576評(píng)論 4 2

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