JS相關(guān)概念

CSS和JS在網(wǎng)頁(yè)中的放置順序是怎樣的

CSS通過(guò)link標(biāo)簽引入胁后,放置在<head>標(biāo)簽內(nèi)。
JS放置在頁(yè)面底部,通過(guò)<script>標(biāo)簽引入阅悍,放置在body的閉合標(biāo)簽之前好渠。


解釋白屏和FOUC

  • 白屏:
    對(duì)于chrome、IE等瀏覽器节视,頁(yè)面渲染需要等到HTML頁(yè)面DOM樹(shù)和CSS的CSSOM樹(shù)構(gòu)建完畢后拳锚,兩者結(jié)合形成render tree后,才對(duì)頁(yè)面進(jìn)行渲染繪制寻行。
    當(dāng)CSS文件放于頁(yè)面底部霍掺,會(huì)影響CSS的加載時(shí)間,因此在CSS沒(méi)有全部加載并形成render tree之前,頁(yè)面都處于空白狀態(tài)杆烁,會(huì)導(dǎo)致白屏牙丽;如果使用@import標(biāo)簽,即使CSS放于頭部兔魂,也可能出現(xiàn)白屏現(xiàn)象烤芦。
    當(dāng)JavaScript文件放于頁(yè)面頭部時(shí),JavaScript會(huì)禁用并發(fā)加載析校,阻塞JavaScript后面內(nèi)容的呈現(xiàn)及后面組件的下載构罗,等到JavaScript文件全部加載完成后才會(huì)繼續(xù)執(zhí)行之后的代碼,因此JavaScript文件放于頭部也會(huì)導(dǎo)致頁(yè)面白屏現(xiàn)象智玻。
  • FOUC:
    對(duì)于Firefox瀏覽器遂唧,DOM樹(shù)的構(gòu)建與CSS的渲染時(shí)同步進(jìn)行的。所以當(dāng)CSS樣式置于頁(yè)面底部時(shí)吊奢,首先瀏覽器會(huì)對(duì)HTML的元素進(jìn)行展示盖彭,當(dāng)CSS全部加載完成后對(duì)樣式進(jìn)行修改,出現(xiàn)FOUS現(xiàn)象事甜。
    如果把CSS樣式放在底部,對(duì)于IE瀏覽器,在某些場(chǎng)景下(點(diǎn)擊鏈接,輸入U(xiǎn)RL,使用書(shū)簽進(jìn)入等),也會(huì)出現(xiàn) FOUC 現(xiàn)象谬泌。

async和defer的作用是什么?有什么區(qū)別

async和defer是異步加載腳本的的屬性逻谦。

<script async src="script.js"></script>
加載和渲染后續(xù)文檔元素的過(guò)程將和 script.js 的加載與執(zhí)行并行進(jìn)行(異步)掌实。同時(shí)出現(xiàn)幾個(gè)具有async屬性的js文件,async屬性不保證按照它們的先后順序執(zhí)行邦马。

<script deferc src="script.js"></script>
加載script.js文件后面的文檔元素過(guò)程將和script.js的加載異步進(jìn)行贱鼻,但 script.js 的執(zhí)行要在所有元素解析完成之后,DOMContentLoaded 事件觸發(fā)之前完成滋将。


簡(jiǎn)述網(wǎng)頁(yè)的渲染機(jī)制

  1. 解析 HTML 標(biāo)簽, 構(gòu)建 DOM 樹(shù)
  2. 解析 CSS 標(biāo)簽, 構(gòu)建 CSSOM 樹(shù)
  3. 把 DOM 和 CSSOM 組合成 渲染樹(shù) (render tree)
  4. 在渲染樹(shù)的基礎(chǔ)上進(jìn)行布局, 計(jì)算每個(gè)節(jié)點(diǎn)的幾何結(jié)構(gòu)
  5. 把每個(gè)節(jié)點(diǎn)繪制到屏幕上 (painting)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末邻悬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子随闽,更是在濱河造成了極大的恐慌父丰,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掘宪,死亡現(xiàn)場(chǎng)離奇詭異蛾扇,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)魏滚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén)镀首,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人鼠次,你說(shuō)我怎么就攤上這事更哄∮蟪荩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵成翩,是天一觀的道長(zhǎng)觅捆。 經(jīng)常有香客問(wèn)我,道長(zhǎng)捕传,這世上最難降的妖魔是什么惠拭? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮庸论,結(jié)果婚禮上职辅,老公的妹妹穿的比我還像新娘。我一直安慰自己聂示,他們只是感情好域携,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著鱼喉,像睡著了一般秀鞭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上扛禽,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天锋边,我揣著相機(jī)與錄音,去河邊找鬼编曼。 笑死豆巨,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的掐场。 我是一名探鬼主播往扔,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼熊户!你這毒婦竟也來(lái)了萍膛?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嚷堡,失蹤者是張志新(化名)和其女友劉穎蝗罗,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蝌戒,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡串塑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瓶颠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡刺桃,死狀恐怖粹淋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤桃移,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布屋匕,位于F島的核電站,受9級(jí)特大地震影響借杰,放射性物質(zhì)發(fā)生泄漏过吻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一蔗衡、第九天 我趴在偏房一處隱蔽的房頂上張望纤虽。 院中可真熱鬧,春花似錦绞惦、人聲如沸逼纸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)杰刽。三九已至,卻和暖如春王滤,著一層夾襖步出監(jiān)牢的瞬間贺嫂,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工雁乡, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留第喳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓蔗怠,卻偏偏與公主長(zhǎng)得像墩弯,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子寞射,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容