javascript編入集
在JavaScript中
- 使用 0-9 這些數字表示 number
- 使用 “ ” 或者 ' ' 引號括起來的表示 string
- 使用 true或者false 標識 boolean
- function 都是object
- Object 也是 Function
- {} 是 object
我想,前面三點都是非常簡單的,數字就是數字,字符就是字符,真假就是真假,在說話,書寫,編寫任何代碼都適用。后面三點,這是在js中獨有的味道。
在面向對象的語言中,很多采用的是單根結構[1]。所以說萬事萬物皆為對象。但是,js雖然是一種面向對象的編程語言,但是卻不是簡單的單根結構,問題就在Function和Object的特殊性上。
雖然說過,數字使用L或者D作為末尾標識,確定精度[2]范圍,但是在js中使用的是 IEEE 754規范,使用雙精度標識,所以不需要區分,所有內容都是雙精度的,無論是整型還是浮點數。
所以:
var a = 1L;
var b = 2D;
都是錯誤的,末尾不需要額外的標識位。
但是:
var c = 0x1;
這個是必需的,因為這代表的是進制轉換。
不過有一點,無論是何種進制,在js中都會轉為十進制,所以當你取值時發現不對,不需要緊張,這只是表示方式不同而已,定下的內容是不會變的。
不過在js中數學運算可能會出點精度不對的問題
0.1+0.2 !=0.3
你可能會驚訝,為什么呢。這時候就要去參考一下規范是為什么了吧。