JS語(yǔ)法

本教程版權(quán)歸小圓和饑人谷所有,轉(zhuǎn)載須說明來源

問答

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

  • CSS使用link標(biāo)簽放在頁(yè)面頂部(<head>里)
  • JS放在頁(yè)面底部(<body>底部)

2. 解釋白屏和FOUC

白屏:如果把樣式放在底部,對(duì)于IE瀏覽器,在某些場(chǎng)景下(新窗口打開,刷新等)頁(yè)面會(huì)出現(xiàn)白屏,而不是內(nèi)容逐步展現(xiàn)。如果使用 @import 標(biāo)簽,即使 CSS 放入 link, 并且放在頭部,也可能出現(xiàn)白屏。把javascript放在頁(yè)面頂部也會(huì)導(dǎo)致白屏現(xiàn)象。
FOUC (Flash of Unstyled Content) 無樣式內(nèi)容閃爍:
如果把樣式放在底部,對(duì)于IE瀏覽器,在某些場(chǎng)景下(點(diǎn)擊鏈接,輸入U(xiǎn)RL,使用書簽進(jìn)入等),會(huì)出現(xiàn) FOUC 現(xiàn)象(逐步加載無樣式的內(nèi)容,等CSS加載后頁(yè)面突然展現(xiàn)樣式).對(duì)于 Firefox 會(huì)一直表現(xiàn)出 FOUC。

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

作用:
aysnc:加載和渲染后續(xù)文檔元素的過程將和 script.js 的加載與執(zhí)行并行進(jìn)行(異步)。
defer:加載后續(xù)文檔元素的過程將和 script.js 的加載并行進(jìn)行(異步),但 script.js 的執(zhí)行要在所有元素解析完成之后,DOMContentLoaded 事件觸發(fā)之前完成。
區(qū)別:
aysnc:不保證順序
defer:腳本延遲到文檔解析和顯示后加載,有順序

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

  1. 解析 HTML 標(biāo)簽, 構(gòu)建 DOM 樹
  2. 解析 CSS 標(biāo)簽, 構(gòu)建 CSSOM 樹
  3. 把 DOM 和 CSSOM 組合成 渲染樹 (render tree)
  4. 在渲染樹的基礎(chǔ)上進(jìn)行布局, 計(jì)算每個(gè)節(jié)點(diǎn)的幾何結(jié)構(gòu)
  5. 把每個(gè)節(jié)點(diǎn)繪制到屏幕上 (painting)

5. JavaScript 定義了幾種數(shù)據(jù)類型? 哪些是簡(jiǎn)單類型?哪些是復(fù)雜類型?

JavaScript的數(shù)據(jù)類型共有六種:

  • 數(shù)值(number):整數(shù)和小數(shù)(比如1和3.14)
  • 字符串(string):字符組成的文本(比如"Hello World")
  • 布爾值(boolean):true(真)和false(假)兩個(gè)特定值
  • undefined:表示“未定義”或不存在,即此處目前沒有任何值
  • null:表示空缺,即此處應(yīng)該有一個(gè)值,但目前為空
  • 對(duì)象(object):各種值組成的集合

簡(jiǎn)單類型:數(shù)值、字符串、布爾值
復(fù)雜類型:對(duì)象

6. NaN、undefined、null分別代表什么?

NaN:含義是Nat a Number,不表示非數(shù)字,NaN和任何值都不相等,包括它本身
undefined:表示不存在值,即此處目前不存在任何值
null:表示空值,即該處的值現(xiàn)在為空

7. typeof和instanceof的作用和區(qū)別?

typeof:判斷數(shù)據(jù)類型
instanceof:判斷一個(gè)變量是否為某一個(gè)對(duì)象的實(shí)例

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • JavaScript基本概念、基礎(chǔ)數(shù)據(jù)類型、運(yùn)算符、流程控制語(yǔ)句。 一、CSS和JS在網(wǎng)頁(yè)中的放置順序是怎樣的? ...
    婷樓沐熙閱讀 520評(píng)論 0 2
  • 1.CSS和JS在網(wǎng)頁(yè)中的放置順序是怎樣的? css一般放在頭部head標(biāo)簽中,網(wǎng)頁(yè)渲染時(shí),先解析html標(biāo)簽,生...
    _Josh閱讀 405評(píng)論 0 1
  • 學(xué)習(xí)內(nèi)容:JavaScript基本概念,基礎(chǔ)數(shù)據(jù)類型,運(yùn)算符,流程控制語(yǔ)句 一、CSS和JS在網(wǎng)頁(yè)中的放置順序是怎...
    鴻鵠飛天閱讀 580評(píng)論 0 0
  • 問答 1.CSS和JS在網(wǎng)頁(yè)中的放置順序是怎樣的? 一般把css放在 標(biāo)簽內(nèi), 標(biāo)簽的后面;js放在 標(biāo)簽的尾部。...
    墨月千樓閱讀 728評(píng)論 0 0
  • 1. CSS和JS在網(wǎng)頁(yè)中的放置順序是怎樣的? 理論上來說,CSS和JS的放置位置并沒有嚴(yán)格要求,不過因?yàn)闉g覽器的...
    進(jìn)擊的阿群閱讀 516評(píng)論 0 2

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