1、輸入url到顯示網頁,中間發生了什麼
dns(完成網域名稱到ip的對映)-->tcp傳輸(三次握手建立傳輸鏈結)-->傳送請求(分析url,設定請求頭、主體)-->伺服器返回請求檔案(html檔案)-->瀏覽器渲染頁面(dom tree渲染,css tree渲染,rander tree渲染,layout布局,gpu完成畫素渲染頁面)
2、網路協議(七層)
物理層(以位元流為單位傳輸)-->資料鏈路層(封裝楨,把資料從乙個mac傳到另乙個mac)-->網路層(路徑的選擇,網路的**)-->傳輸層(建立鏈結,傳送報文,tcp、udp)-->會話層(發起會話)-->表示層(資料表示方式的轉化)-->應用層(面向使用者,dns、ftp、e-mail、http)
3、頁面的重繪和回流
回流一定引起重繪,重繪不一定引起回流,重繪開銷較小。
開發中的實踐:①盡量使用更換class實現樣式變化。②儘量減少dom操作,把多次dom操作,集中一次修改。
前端實用小工具
1 型別判斷 判斷 target 的型別,單單用 typeof 並無法完全滿足,這其實並不是 bug,本質原因是 js 的萬物皆物件的理論。因此要真正完美判斷時,我們需要區分對待 很穩的判斷封裝 let class2type array date regexp object error split ...
前端實用小工具
1 型別判斷 判斷 target 的型別,單單用 typeof 並無法完全滿足,這其實並不是 bug,本質原因是 js 的萬物皆物件的理論。因此要真正完美判斷時,我們需要區分對待 很穩的判斷封裝 let class2type array date regexp object error split ...
python實用小知識
python是解釋型語言,你的 在執行時會一行一行地翻譯成cpu能理解的機器碼,這個翻譯過程非常耗時,所以很慢。而c程式是執行前直接編譯成cpu能執行的機器碼,所以非常快 如果字串內部既包含 又包含 怎麼辦?可以用轉義字元 來標識,比如 i m ok 表示的字串內容是 i m ok python還允...