在計算機的世界當中攒暇,只有數據可以讀取橘蜜、修改以及新建數據驹溃,數據可以用來表示任何信息
第一章 值、類型和運算符
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
||優(yōu)先級最低晒他,其次是&&吱型,接著是比較運算符(>,==等)陨仅,最后是其他運算符津滞。
三元運算符
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
建議使用三字符比較運算符來防止意外類型轉換
短路特性:&&
和||
邏輯運算符使用一種特殊方式來處理不同類型的值狐赡,這兩個運算符會將左側的值轉換成布爾類型撞鹉,以決定如何進行后續(xù)操作,但返回左側值還是右側值,則取決于運算符和左側轉換結果鸟雏。
null || '9aoyang' // 9aoyang
'羔羊' || '9aoyang' // 羔羊
短路計算:只有必要時才會計算右側的表達式享郊。
1.8 小結
- 介紹了JavaScript的四種類型的值:數字、字符串孝鹊、布爾值和未定義值炊琉。
- 算數二元運算符(
+
、-
惶室、*
温自、/
和%
) - 字符串連接符(
+
) - 比較運算符(
==
、!=
皇钞、===
悼泌、!==
、<
夹界、>
馆里、<=
、>=
) - 邏輯運算符(
&&
和||
) - 一些一元運算符(
-
表示負數可柿、鸠踪!
表示邏輯非、typeof
用于查詢值類型)