javascript 常忽略的基礎(chǔ)知識(shí)

1、undefined?和 void 0

undefined是js中的種基本數(shù)據(jù)類型,未定義的變量的類型和值都是undefined;但undefined不是js的保留字,可以更改,

例:undefined = 'bala',(在IE8以下打印undefined是‘bala’)。

所以建議在代碼中如果想獲取undefined的值用void 0,? void 0就是用來(lái)獲取undefined值的。

例:if(tag === void 0) return fun;

2、非整數(shù)的Number類型不能用 ===來(lái)比較

例:0.2+0.7 ===0.9? // false

實(shí)際運(yùn)算結(jié)果是:0.8999999999999999,為什么呢?JavaScript 里的數(shù)字是采用?IEEE 754 標(biāo)準(zhǔn)的 64 位雙精度浮點(diǎn)數(shù),在運(yùn)算的時(shí)候0.2和0.7首先轉(zhuǎn)成二進(jìn)制,浮點(diǎn)數(shù)用二進(jìn)制表示是無(wú)窮的,但由于IEEE 754 標(biāo)準(zhǔn)的 64 位雙精度浮點(diǎn)數(shù)的小數(shù)部分最多支持53位,所以小數(shù)部分截取后計(jì)算再轉(zhuǎn)成十進(jìn)制就有了精度誤差。

浮點(diǎn)數(shù)比較應(yīng)采用js提供的最小精度值,如:

Math.abs(0.2+0.7-0.9) <= Number.EPSILON

在實(shí)際項(xiàng)目中如果遇到浮點(diǎn)數(shù)計(jì)算的情況多數(shù)用toFixed方法保留小數(shù)位來(lái)解決計(jì)算結(jié)果一堆小數(shù)的問(wèn)題。例:

parseFloat((0.2+0.7).toFixed(2))? ?//注:toFixed方法返回的是字符串。

3、css偽元素:? ? ?::first-line? ? :: first-letter? ?::before? ::after

????3.1、::first-line? 表示元素的第一行,只能出現(xiàn)在塊級(jí)元素內(nèi)

? ? 3.2、::first-letter?表示元素的第一個(gè)字母,可以出現(xiàn)在所有元素內(nèi),常用來(lái)實(shí)現(xiàn)首字母大寫,例:

? ?????????<p>welcome to BeiJing</p>

? ? ????????p::{text-transform: uppercase;}?

? ? 3.3、::bdefore?和 ::after表示在內(nèi)容之前和之后插入一個(gè)虛擬元素,必須指定content屬性才會(huì)生效,例:

? ? ? ? ? ? <p>中國(guó)</p>

? ? ? ? ? ? p::after{content:"加油!";}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • JavaScript語(yǔ)言精粹 前言 約定:=> 表示參考相關(guān)文章或書(shū)籍; JS是JavaScript的縮寫。 本書(shū)...
    微笑的AK47閱讀 654評(píng)論 0 3
  • 數(shù)組和其他強(qiáng)類型語(yǔ)言不同,在JavaScript中,數(shù)組可以容納任何類型的值,可以使字符串、數(shù)字、對(duì)象(objec...
    xpwei閱讀 322評(píng)論 0 0
  • 定點(diǎn)小數(shù)運(yùn)算 來(lái)自:http://www.eepw.com.cn/article/17893.htm 在DSP世界...
    郝宇峰閱讀 9,933評(píng)論 0 2
  • 特別說(shuō)明,為便于查閱,文章轉(zhuǎn)自https://github.com/getify/You-Dont-Know-JS...
    殺破狼real閱讀 256評(píng)論 0 0
  • 官方中文版原文鏈接 感謝社區(qū)中各位的大力支持,譯者再次奉上一點(diǎn)點(diǎn)福利:阿里云產(chǎn)品券,享受所有官網(wǎng)優(yōu)惠,并抽取幸運(yùn)大...
    HetfieldJoe閱讀 1,389評(píng)論 0 15

友情鏈接更多精彩內(nèi)容