JavaScript 編程精解 (1)


在計算機的世界當中,只有數據可以讀取、修改以及新建數據,數據可以用來表示任何信息

第一章 值、類型和運算符

1.1 值

六種基本的值類型:

  • 數字(number)
  • 字符串(string)
  • 布爾值(boolean)
  • 對象(object)
  • 函數(function)
  • 未定義類型(undefined)

1.2 數字

  • JavaScript使用固定長度為64的位序列來存儲數字值
  • 如果長度有64位,則可以表示2^64個數字(1800億億),但事實上因為符號位的存在,以及表示非整數,實際可存儲的數字范圍是1900萬億
  • 三個特殊值:Infinity,-Infinity,NaN
Infinity + Infinity;    // Infinity
Infinity - Infinity;    // NaN

1.3 字符串

  • 單引號和雙引號都可以用來標記字符串,但遵從良好的代碼習慣一般最外層用單引號
  • 字符串中含有特殊字符時要使用轉義符\

1.4 一元運算符

  • 并非所有運算符都用符號表示,有些運算符是用單詞表示的
  • 使用N個值進行運算的運算符稱為N元運算符

1.5 布爾值

該類型的值只有兩種取值:true和false

比較

//大于
3 > 2    // true

//小于
3 < 2    // false

//不等于
'9aoyang' != 'gaoyang'    // false

//不同的非法運算結果也不會相等
NaN == NaN    // false

此外還有>=(大于等于)、<=(小于等于)、===(嚴格相等)、'!=='(嚴格不等)

邏輯運算符

JavaScript支持三種邏輯運算符:與(and)、或(or)和非(not),可用于推理布爾值。

//邏輯與
true && false    // false
true && true    // true

//邏輯或
false || true    // true
false || false    // false

//邏輯非
!true    // false
!false    // true

||優先級最低,其次是&&,接著是比較運算符(>,==等),最后是其他運算符。

三元運算符

true ? 1 : 2    // 1
fasle ? 1 : 2    // 2

1.6 未定義值

null和undefined,用于表示無意義的值,各自表示自身含義,不包含其他任何信息。

null == 0    // false
null == undefined    // true
null === undefined    // false

1.7 自動類型轉換

8 * null    // 0    null變成0
'5' - 1    // 4    '5'變成5
'5' + 1    // 51    1變成'1'
'five' * 2    // NaN    無法顯式地轉成數字
false == 0    // true

建議使用三字符比較運算符來防止意外類型轉換

短路特性&&||邏輯運算符使用一種特殊方式來處理不同類型的值,這兩個運算符會將左側的值轉換成布爾類型,以決定如何進行后續操作,但返回左側值還是右側值,則取決于運算符和左側轉換結果。

null || '9aoyang'    // 9aoyang
'羔羊' || '9aoyang'    // 羔羊

短路計算:只有必要時才會計算右側的表達式。

1.8 小結

  • 介紹了JavaScript的四種類型的值:數字、字符串、布爾值和未定義值。
  • 算數二元運算符(+-*/%
  • 字符串連接符(+
  • 比較運算符(==!====!==<><=>=
  • 邏輯運算符(&&||
  • 一些一元運算符(- 表示負數、表示邏輯非、typeof用于查詢值類型)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容