使用 JS 有很多有趣的地方。盡管工程師們每天都在與之打交道,但仍有一些語言沒有被開發(fā)出來。今天文匯軟件小編將介紹一些你可能想不到的JS特性。
NaN 是一個 number 類型
NaN是一個 number 類型。 而且,NaN 不等于它自己。 實(shí)際上NaN不等于任何東西,驗(yàn)證一個變量是否是 NaN 可以使用 isNaN() 方法來判斷。
> typeof(NaN) "number" > NaN === NaN false
null 是一個對象
null是一個對象。 聽起來奇怪! 對? 但這是事實(shí)。
> typeof(null) "object"
在這種情況下,null表示沒有值。因此,null不應(yīng)該是Object的實(shí)例。
> null instanceof Object false
0.1 + 0.2 不等于 to 0.3
在JavaScript中,0.1 +0.2 == 0.3返回false。 事實(shí)是,javascript 將浮點(diǎn)數(shù)存儲為二進(jìn)制。
> 0.1 + 0.2 0.30000000000000004 > 0.1 + 0.2 == 0.3 false
函數(shù)可以自執(zhí)行
只需創(chuàng)建一個函數(shù),并在調(diào)用其他函數(shù)時立即調(diào)用它,并使用 () 語法。
> (function() { console.log('I am self executing'); })(); I am self executing
018 - 045 = -19
在JavaScript中,前綴0會把任何數(shù)字轉(zhuǎn)換成八進(jìn)制。但是,八進(jìn)制中不使用8,任何包含8的數(shù)字都將被無聲地轉(zhuǎn)換為常規(guī)的十進(jìn)制數(shù)字。
> 018 - 045 -19
因此,018-019實(shí)際上等于十進(jìn)制表達(dá)式18-37,因?yàn)?45是八進(jìn)制,但018是十進(jìn)制。
幾天小編的分享就到這了,如果你還有什么有趣的js現(xiàn)象歡迎評論區(qū)留言,與文匯軟件小編進(jìn)行交流哦。
關(guān)鍵詞: