javascript編入集
在JavaScript中
- 使用 0-9 這些數(shù)字表示 number
- 使用 “ ” 或者 ' ' 引號(hào)括起來的表示 string
- 使用 true或者false 標(biāo)識(shí) boolean
- function 都是object
- Object 也是 Function
- {} 是 object
我想秦叛,前面三點(diǎn)都是非常簡單的,數(shù)字就是數(shù)字瀑粥,字符就是字符挣跋,真假就是真假,在說話狞换,書寫避咆,編寫任何代碼都適用。后面三點(diǎn)修噪,這是在js中獨(dú)有的味道查库。
在面向?qū)ο蟮恼Z言中,很多采用的是單根結(jié)構(gòu)[1]黄琼。所以說萬事萬物皆為對(duì)象樊销。但是,js雖然是一種面向?qū)ο蟮木幊陶Z言脏款,但是卻不是簡單的單根結(jié)構(gòu)现柠,問題就在Function和Object的特殊性上。
雖然說過弛矛,數(shù)字使用L或者D作為末尾標(biāo)識(shí),確定精度[2]范圍比然,但是在js中使用的是 IEEE 754規(guī)范丈氓,使用雙精度標(biāo)識(shí),所以不需要區(qū)分强法,所有內(nèi)容都是雙精度的万俗,無論是整型還是浮點(diǎn)數(shù)。
所以:
var a = 1L;
var b = 2D;
都是錯(cuò)誤的饮怯,末尾不需要額外的標(biāo)識(shí)位闰歪。
但是:
var c = 0x1;
這個(gè)是必需的,因?yàn)檫@代表的是進(jìn)制轉(zhuǎn)換蓖墅。
不過有一點(diǎn)库倘,無論是何種進(jìn)制临扮,在js中都會(huì)轉(zhuǎn)為十進(jìn)制,所以當(dāng)你取值時(shí)發(fā)現(xiàn)不對(duì)教翩,不需要緊張杆勇,這只是表示方式不同而已,定下的內(nèi)容是不會(huì)變的饱亿。
不過在js中數(shù)學(xué)運(yùn)算可能會(huì)出點(diǎn)精度不對(duì)的問題
0.1+0.2 !=0.3
你可能會(huì)驚訝蚜退,為什么呢。這時(shí)候就要去參考一下規(guī)范是為什么了吧彪笼。