JavaScript 第十一章 執行環境

2021-09-13 10:23:47 字數 2665 閱讀 9050

從輸入url到得到html的詳細過程

window.load和domcontentloaded的區別

瀏覽器根據dns伺服器得到網域名稱的ip位址

向這個ip的機器傳送http請求

伺服器收到處理並返回http請求

瀏覽器得到返回內容

根據html結構生成dom tree

根據css生成cssom

將dom和cssom整合形成render tree(渲染樹)

根據render tree開始渲染和展示

遇到時,會執行並阻塞渲染

因為js會改變dom結構及內容,所以兩者不能同時進行

靜態資源的壓縮合併(打包合併+**壓縮)

src=

"a.js"

>

script

>

src=

"b.js"

>

script

>

src=

"c.js"

>

script

>

// 打包合併後

src=

"abc.js"

>

script

>

靜態資源快取

使用cdn

使用ssr後端渲染

css放前面,js放後面

懶載入給src賦值乙個很小的圖

真正的放在乙個data後面

用的時候再把data屬性賦值到src中

加快頁面渲染速度

"img1"

src="preview.png"

data-realsrc

="abc.png"

/>

>

var img1 = document.

getelementbyid

('img1');

img1.src = img1.

getattribute

('data-realsrc');

script

>

減少dom操作

// 未快取dom查詢

var i;

for(i =

0; i < document.

getelementsbytagname

('p'

).length; i++

)// 快取了dom查詢

var plist = document.

getelementsbytagname

('p');

var i;

for(i =

0; i < plist.length; i++

)

var listnode = document.

getelementbyid

('list');

// 建立1個片段

var frag = document.

createdocumentfragment()

;var x, li;

for(x =

0; x <

10; x++

)// 最後將片段直接插入正文

listnode.

(frag)

;

事件節流

var textaarea = document.

getelementbyid

('text');

var timeoutid;

textaarea.

addeventlistener

('keyup'

,function()

timeoutid =

settimeout

(function()

,100);

})

盡早執行操作

window.

addeventlistener

('load'

,function()

)document.

addeventlistener

('domcontentloaded'

,function()

)

攻擊**中,獲取cookie,傳送到自己的伺服器

發布部落格,有人檢視部落格內容

會把檢視者的cookie傳送到攻擊者的伺服器 預防

預防

可能對react不是很了解,最近正在學react,大約1個月後就能做出1個react的**

從輸入url到得到html的詳細過程

window.load和domcontentloaded的區別

window.

addeventlistener

('load'

,function()

)document.

addeventlistener

('domcontentloaded'

,function()

)

modern c design 第十一章

本章介紹了經常遇到的雙分派的一種泛型解決方案。c 在語法上實現了單分派,即虛函式,通過動態機制選擇相應的函式。雙分派是形如fun object1 a,object2 b 根據a和b的實際型別動態自動分派乙個處理函式。最容易想到的方案,蠻幹法 寫一大堆過載函式.不過這種方法會有很強的依賴性。也提供了一...

第十一章3

第十一章 一 滾動元件 awt中的滾動元件包括scrollbar 滾動條 和滾動面板 scrollpane 兩種。1 滾動條scrollbar 在指定的取值範圍內快速選取某一值的功能。i.構造方法 public scrollbar int orientation,int value,int visi...

java第十一章

問題 1 錯誤 2 異常,1 編譯時異常 檢查異常 2 執行時異常 不檢查異常 是否能用 解決,是的就是異常,不是的就是錯誤 問題 1 先驗 2 捕獲 異常捕獲機智 異常的三個種類 1 檢查異常 2 執行時異常 3 錯誤 throw 提示方法呼叫者本方法可能發生異常 throw跟異常物件 throw...