2020-01-06 JS數(shù)據(jù)結構

五種基本數(shù)據(jù)類型:Undefined, Null, Boolean, String, Number
一種復雜數(shù)據(jù)類型: Object (一組無序名值對)

Undefined:

未經聲明和未初始化的變量,typeof 操作返回值都是undefined。

Null:

只有一個值的數(shù)據(jù)類型,這個特殊的值是null。
從邏輯角度來看,null表示一個空對象指針。 這也正是typeof檢測null時會返回object的原因。
實際上,undefined值是派生自null值的。所以ecma規(guī)定對他們做相等性測試要返回true。

相等性測試.png

雖然二者有上述關系,但是他們的使用是完全不同的。
我們沒有必要去顯示聲明一個變量為undefined,但是如果我們意在保存對象的變量還沒有真正的保存對象,就應該明確的讓該變量保存null值。

Boolean:

Boolean類型的字面值只有兩個true/false, 但ECMAScript中所有類型的值都有與這兩個boolean值等價的值。要將一個值轉化為其對應的Boolean值,調用轉型函數(shù)Boolean()。
各種類型轉換規(guī)則:

數(shù)據(jù)類型 準換為true的值 準換為false的值
Boolean true false
String 任何非空字符串 " "(空字符串)
Number 任何非0數(shù)字(包括無窮大) 0和NaN
Object 任何對象 null
Undefined n/a(not applicable) undefined
Number:

八進制:前導數(shù)為0
十六進制:前導數(shù)為0x
進行算數(shù)計算時,八進制和十六進制的所有數(shù)最終都會被轉化為十進制。

  1. 浮點數(shù):ECMAScript會不失時機的將浮點數(shù)轉化為整數(shù)。
    **不要測試某個特定的浮點數(shù)值。浮點數(shù)最高精度是17位小數(shù),但在進行算數(shù)計算時其精確度遠遠不如整數(shù)。

  2. 數(shù)值范圍: Number.MIN_VALUE, Number.MAX_VALUE
    若一個數(shù)超出范圍則會返回-Infinity / Infinity
    可使用isFinite()來檢測一個數(shù)值是否有窮

  3. NaN:用來表示一個本來要返回數(shù)值的操作數(shù)未返回數(shù)值的情況。(這樣就避免了拋出錯誤)
    在ECMAScript中,任何數(shù)除以0會返回NaN,不會像其他語言那樣直接拋出異常影響其他代碼段的執(zhí)行。
    NaN的特點:任何涉及NaN的操作都會返回NaN; NaN與任何值都不相等,包括NaN本身。


    image.png

    所以,產生了isNaN()這個函數(shù),幫我們確定這個數(shù)是否不是數(shù)值。

  4. 數(shù)值轉換
    Number(), parseInt(), parseFloat() (優(yōu)先選后兩者,具體見紅寶書3.4.5)

String: 單雙引號表示的字符串都有效。
  1. 字符字面量:轉義序列。(6個字符長的轉義序列表示一個字符,空格也表示一個字符)
  2. 特點:字符串不可變。不用的后臺銷毀。
  3. 轉換為字符串:
    要把一個值轉換為字符串有兩種方法:toString(), String()
    toString(): 不需要參數(shù),但可設置參數(shù)為基數(shù)以指定輸出格式。null 和 undefined沒有這個方法。
    String(): 可將任何類型轉換為字符串。原則:若值有toString()方法,則調用。沒有則返回該返回的。
Object:一組數(shù)據(jù)和功能的集合。
var o = new Object();

一個重要思想:Object類型所具有的任何屬性和方法也同樣存在于更具體的對象中。

valueOf(): 返回對象的字符串,數(shù)值和布爾值表示。通常與toString()方法的返回值相同。

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

相關閱讀更多精彩內容

  • 1、標識符 標識符是指變量、函數(shù)、屬性的名字,或函數(shù)的參數(shù)。 格式規(guī)則: 第一個字符必須是一個字母、下劃線(_)或...
    風中丶凌亂閱讀 1,746評論 0 0
  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,667評論 0 4
  • 1、標識符 標識符是指變量、函數(shù)、屬性的名字,或函數(shù)的參數(shù)。 格式規(guī)則: 第一個字符必須是一個字母、下劃線(_)或...
    霜天曉閱讀 759評論 0 0
  • 本章內容 語法 數(shù)據(jù)類型 流控制語句 理解函數(shù) 3.1 語法 3.1.1 區(qū)分大小寫 區(qū)分大小寫 3.1.2 標識...
    悶油瓶小張閱讀 793評論 0 0
  • 變量 聲明變量 命名變量區(qū)分大小寫的語言第一個字符是字母或下劃線_,數(shù)字不能作為第一個字符字符必須是字母,數(shù)字或者...
    flyingtoparis閱讀 885評論 0 0

友情鏈接更多精彩內容