關於我們
QQ答疑交流群:
600633658
我們的連結: 知乎 掘金 今日頭條 新浪微博 前端網 思否 簡書 B站
布林型別
布林是什麼
喬治·布林(George Boole,1815.11.2~1864),1815年11月2日生於英格蘭的林肯。19世紀最重要的數學家之一,出版了《邏輯的數學分析》 ,這是它對符號邏輯諸多貢獻中的第一次。1854年,他出版了《思維規律的研究》 ,這是他最著名的著作。在這本書中布林介紹了現在以他的名字命名的布林代數。
計算機基於邏輯運算,為紀念布林而改名為布林運算。
布林運算的結果稱之為布林值
布林型別的值
- true
- false
布林型別的命名
- bool(常用名)
- boole(人名)
- boolean(布林數學體系)
用途
主要用於判斷或者作為比較的結果
布林型別轉換
JS中所有的值都可以轉換成布林型別 使用Boolean()或者** !!(兩個感嘆號)**
可以轉化成false的值
只有6個:
- undefined
- null
- 0
- -0
- NaN
- ''
數字型別
整數的表示
十進位制,八進位制(0開頭),十六進位制(0x開頭)
####整數的範圍
-253~253
####整數的使用建議
- 使用十進位制,少用16進位制,不用8進位制
- 不要使用太大或者太小的整數,長度不要超過16位
浮點數的表示
- 小數點前可以沒有數字,預設為0。CSS中同樣適用
- 小數點後可以沒有數字(浮點數佔用的記憶體空間為整數的兩倍,計算機為了節約記憶體會自動將小數點後沒有數字的浮點數轉換成整數)
- 小數點後六個0以上的浮點數自動轉換為指數
0.1+0.2不等於0.3深入講解
JS浮點數計算標準
IEEE754
IEEE是什麼
電氣和電子工程師協會( IEEE,全稱是Institute of Electrical and Electronics Engineers)是一個國際性的電子技術與資訊科學工程師的協會,是目前全球最大的非營利性專業技術學會,其會員人數超過40萬人,遍佈160多個國家。 IEEE的兩個前身AIEE(美國電氣工程師協會)成立於1884年,IRE(無線電工程師協會)成立於1912年
IEEE成就
- 在各個領域制定上千個標準(802,80211)
- 發表文獻佔全球文獻的三分之一
- 設立40多個專業分會
- 每年主辦300場以上技術會議
- 名人云集
IEEE754
浮點數算數標準,全稱二進位制浮點數算數標準
浮點數的表示形式
單精度(32位) 雙精度(64位,JS使用) 延伸單精度 延伸雙精度
0.1+0.2!=0.3的原因
十進位制轉二進位制引起的誤差(二進位制無法表示0.1和0.2)
類似的舉例
- 1米=3尺
- 1米!=1尺+2尺
小數使用建議
永遠不要使用兩個經過計算的小數做比較
如何進行小數的比較
- 先乘10的N次方轉換成整數在除10的N次方轉化成小數。10的N次方的範圍(雖然有限,但是足夠大,300多次方)
- 使用toFixed()函式,四捨五入保留N位小數。
- 保持書寫一致
- 17.4530.9——47.114999——toFixed(2)——47.11
- 0.917.453——47.115————toFixed(2)——47.12
不合理的數學計算
在JS中只要是數字就可以參與運算,無論是否滿足數學邏輯
x/0——Infinity 0/0——NaN
NaN
不等於任何數字的數字。
NaN不等於NaN(面試坑)
判斷NaN
isNaN(),返回布林型別
用途是判斷引數是否可以轉換成數字
數字型別轉換
JS中所有的值都可以轉換成數字型別,使用Number()或+
數字型別轉換場景
目的只有一個,用於計算,將後臺傳遞的資料,從字串轉換為數字並參與計算
取整運算
parseInt(),更簡單的取整 |0
字串
什麼是字串
如果一個資料在程式碼中被引號引上,他就是一個字串
'123','undefined','ture'
單引號還是雙引號?
都可以,推薦使用單引號,因為HTML預設使用雙引號
Unicode編碼
字串中可以使用Unicode編碼\u開頭,
EXP:
\u03a3
\u03c0
複製程式碼
常用的轉義符
\n \ ' "
字串的屬性
- index
- length(回顧呼叫屬性原理)
長度誤區
漢字長度為1,轉義符長度為1,Unicode編碼長度為1
字串型別轉換
JS中所有的值都可以轉換成字串,使用String()或與一個空字串相加
原始型別轉化總結
- 都有和自己資料型別同名的方法
- 首字母都大寫
- 傳入的資料都可以是任何資料型別
- 結果都是對應的資料型別並且可以分為兩種(true false,正常數字 非正常數字,文字 "[object Object]")