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