JS里的數(shù)據(jù)類型

js里共有7種類型

3種原始類型:字符串(string) ,數(shù)值(number ),布爾值(boolean)
2種特殊值:undefined ,null
合成類型: object
symbol

typeof運算符可以返回一個值的數(shù)據(jù)類型。
數(shù)值、字符串、布爾值分別返回"number"、"string"、"boolean"。
對象返回"object"
undefined返回"undefined"
null返回"object"
typeof function = 'function'

1.字符串

JavaScript 使用 Unicode 字符集。JavaScript 引擎內(nèi)部,所有字符都用 Unicode 表示。javascript中每個字符都是以16位(2個字節(jié))的UTF-16格式存儲,對于碼點在U+10000到U+10FFFF之間的字符,JavaScript 總是認(rèn)為它們是兩個字符(length屬性為2)

1.Base64 是一種編碼方法,可以將任意值轉(zhuǎn)成 0~9、A~Z、a-z、+和/這64個字符組成的可打印字符,有時需要以文本格式傳遞二進(jìn)制數(shù)據(jù),那么也可以使用 Base64 編碼

  • btoa():任意值轉(zhuǎn)為 Base64 編碼
  • atob():Base64 編碼轉(zhuǎn)為原來的值

要將非 ASCII 碼字符轉(zhuǎn)為 Base64 編碼,必須中間插入一個轉(zhuǎn)碼環(huán)節(jié),再使用這兩個方法。

2.反斜杠(\)在字符串內(nèi)有特殊含義,用來表示一些特殊字符,所以又稱為轉(zhuǎn)義符。
需要用反斜杠轉(zhuǎn)義的特殊字符,主要有下面這些

  • \0 :null(\u0000)
  • \b :后退鍵(\u0008)
  • \f :換頁符(\u000C)
  • \n :換行符(\u000A)
  • \r :回車鍵(\u000D)
  • \t :制表符(\u0009)
  • \v :垂直制表符(\u000B)
  • ' :單引號(\u0027)
  • " :雙引號(\u0022)
  • \ :反斜杠(\u005C)

2.布爾值

如果 JavaScript 預(yù)期某個位置應(yīng)該是布爾值,會將該位置上現(xiàn)有的值自動轉(zhuǎn)為布爾值。轉(zhuǎn)換規(guī)則是除了下面六個值被轉(zhuǎn)為false,其他值都視為true。

  • undefined
  • null
  • false
  • 0
  • NaN
  • ""或''(空字符串)

3.數(shù)值

js中所有的數(shù)字都是以64為浮點數(shù)存儲的
第1位,符號位。0表示正數(shù),1表示負(fù)數(shù)
第2位到12位(共11),表示指數(shù)部分
第13為到64位(共52),表示小數(shù)部分
絕對值小于2的53次方的整數(shù)都可以精確表示

如果一個數(shù)大于等于2的1024次方,那么就會發(fā)生“正向溢出”,
如果一個數(shù)小于等于2的-1075次方(指數(shù)部分最小值-1023,再加上小數(shù)部分的52位),那么就會發(fā)生為“負(fù)向溢出”

數(shù)值的進(jìn)制:

  • 十進(jìn)制:默認(rèn)都為十進(jìn)制,沒有前導(dǎo)0
  • 二進(jìn)制:前導(dǎo)位0b或0B
  • 八進(jìn)制:前導(dǎo)位0o或者0O
  • 十六進(jìn)制:前導(dǎo)為0x或0X

特殊值NaN
字符串解析為數(shù)字出錯時返回NaN,但NaN的數(shù)據(jù)類型依然是number,typeof NaN返回”number“
NaN不等于任何值,包括它本身。

與數(shù)值有關(guān)的方法
parseInt(),把字符串轉(zhuǎn)為數(shù)值,結(jié)果只有兩種,十進(jìn)制的整數(shù)或NaN
parseFloat(),將一個字符串轉(zhuǎn)為浮點數(shù)

4.null 和undefined

相同之處:
null和undefined都表示無,if語句中都為false.

不同之處:
null 表示一個“空”對象,typeof null返回"object",轉(zhuǎn)為數(shù)字時為 0;
undefined 表示”此處無定義“的原始值,typeof undefined 返回"undefined",轉(zhuǎn)為數(shù)字時為NaN

null的用法,在調(diào)用函數(shù)時,某個參數(shù)未設(shè)置值,這是可以傳入null,表示參數(shù)為空.

5.對象

鍵值對的集合成為對象.

屬性的操作有兩種方法,使用點運算符或使用方括號。方括號里鍵名必須使用引號。

幾種方法:
Object.keys(obj)可以查看所有屬性
delete obj.p可以刪除某個屬性,刪除成功返回true
in 運算符可以檢查對象是否包含某個屬性
for...in用來遍歷所有屬性

最后編輯于
?著作權(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)容