JavaScript語(yǔ)法

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

1.CSS樣式一般放置在head標(biāo)簽之間。
2.JS一般放置在body標(biāo)簽內(nèi)的最后面。
3.瀏覽器是從上到下渲染內(nèi)容的,CSS放在前面打開(kāi)瀏覽器就可以看到一個(gè)樣式完整的頁(yè)面,而不會(huì)因?yàn)榫W(wǎng)速過(guò)慢而看到只是一個(gè)簡(jiǎn)陋的頁(yè)面內(nèi)容。JS放在body內(nèi)容的底部,可以防止其阻塞body內(nèi)標(biāo)簽內(nèi)容的加載。

二、解釋白屏和FOUC

1.白屏:CSS放入文檔的底部,因?yàn)闉g覽器渲染頁(yè)面內(nèi)容都是至上而下的,所以當(dāng)瀏覽器還沒(méi)有渲染到底部的CSS部分時(shí),頁(yè)面打會(huì)出現(xiàn)白屏。
同樣,如果使用@import標(biāo)簽,link引入css并且放在文檔頂部,也有可能出現(xiàn)白屏現(xiàn)象。
2.FOUC:將css樣式放入文檔底部,會(huì)先加載頁(yè)面內(nèi)容,再加載css樣式后,然后網(wǎng)頁(yè)內(nèi)容突然顯示出樣式,因此內(nèi)容會(huì)出現(xiàn)閃爍 , 對(duì)于Firefox會(huì)一直表現(xiàn)出FOUC。

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

1.async和defer是<script>標(biāo)簽的兩個(gè)屬性,用于指定腳本文件的加載方式。正常情況下,瀏覽器從上到下解析HTML文件,當(dāng)解析到<script>標(biāo)簽的時(shí)候會(huì)立即下載并執(zhí)行腳本,只有當(dāng)加載執(zhí)行腳本之后瀏覽器才能繼續(xù)解析<script>標(biāo)簽之后的文檔內(nèi)容,而async和defer屬性就是改變這種加載方式的作用。

2.區(qū)別

  • async是HTML5新增的屬性,它的作用是能夠異步的加載和執(zhí)行腳本,不因?yàn)榧虞d腳本而阻塞頁(yè)面的加載。一旦加載到就會(huì)立即執(zhí)行。不影響頁(yè)面的其他操作。
  • defer如果給script標(biāo)簽添加了defer屬性,即使js放在head里面,它也會(huì)在HTML頁(yè)面解析完畢之后再執(zhí)行,也就是類似于把這個(gè)js放在了頁(yè)面底部。簡(jiǎn)單來(lái)說(shuō)就是等頁(yè)面的html和css加載完畢之后再加載js。

三、簡(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)。

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

1.五種簡(jiǎn)單類型

  • Null(值只有一個(gè)“null”,表示空指針,不存在的東西。)
  • Undefined(值只有一個(gè)“Undefined”,表示變量只是被聲明,沒(méi)有賦值。)
  • Boolean(布爾值有兩個(gè):true和false)
  • Number(數(shù)字類型)
  • String(字符類型,用“”或者‘’表示)

2.一種復(fù)雜類型

  • object(對(duì)象)

六、NaN、undefined、null分別代表什么?

1.NaN屬性是代表非數(shù)字值的特殊值。該屬性用于指示某個(gè)值不是數(shù)字。可以把Number對(duì)象設(shè)置為該值,來(lái)指示其不是數(shù)字值。
2.undefined表示變量只被聲明,而沒(méi)有賦值。
3.null表示這個(gè)東西不存在。

七、typeof和instanceof的作用和區(qū)別?

1.typeof 檢測(cè)一個(gè)變量的數(shù)據(jù)類型。

類型匯總

示例

2.instanceof 主要目的是檢測(cè)引用類型,判斷對(duì)象是數(shù)組(Array),對(duì)象(object),函數(shù)(function)。

示例

3.區(qū)別:typeof和instanceof的目的都是檢測(cè)變量的類型,二者的區(qū)別在于typeof一般檢測(cè)的是基本數(shù)據(jù)類型,instanceof主要檢測(cè)的是引用類型。

八、完成如下代碼判斷一個(gè)變量是否是數(shù)字、字符串、布爾、函數(shù)

示例

九、以下代碼的輸出結(jié)果是?

結(jié)果

十、以下代碼的輸出結(jié)果是?

代碼

結(jié)果

十一、遍歷數(shù)組,把數(shù)組里的打印數(shù)組每一項(xiàng)的平方

結(jié)果

十二、遍歷 JSON, 打印里面的值

結(jié)果

十三、下面代碼的輸出是? 為什么

輸出結(jié)果
原因
最后編輯于
?著作權(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)容

  • 一、問(wèn)答 (一)CSS和JS在網(wǎng)頁(yè)中的放置順序是怎樣的? 1、對(duì)于css:當(dāng)引用css文件時(shí),應(yīng)放在文件的頭部 標(biāo)...
    該帳號(hào)已被查封_才怪閱讀 550評(píng)論 7 2
  • 1.CSS和JS在網(wǎng)頁(yè)中的放置順序是怎樣的? (1)通常,CSS放在head標(biāo)簽里面;(2)而JS放在body標(biāo)簽...
    饑人谷_徐小坤閱讀 168評(píng)論 0 0
  • * 這是關(guān)于JavaScript基本概念、基礎(chǔ)數(shù)據(jù)類型、運(yùn)算符、流程控制語(yǔ)句的一些小知識(shí) * 1.CSS和JS在網(wǎng)...
    JunVincetHuo閱讀 241評(píng)論 0 0
  • JavaScript基本概念、基礎(chǔ)數(shù)據(jù)類型、運(yùn)算符、流程控制語(yǔ)句。 一、CSS和JS在網(wǎng)頁(yè)中的放置順序是怎樣的? ...
    婷樓沐熙閱讀 520評(píng)論 0 2
  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,137評(píng)論 1 92

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