回覆列表
  • 1 # IT全棧工程師

    WEB頁面是以何種形式在瀏覽器端展示的?

    首先,必要的第三方js庫還是要使用的,少用並不是不用。

    其實並沒有我們想象的那麼複雜,要知道,在Web應用中、所有頁面是在瀏覽器中執行,而瀏覽器完全是按照HTML/CSS所設計。拋開Canvas不論,純JS的實現最終還是要生成DOM。從效能的角度看,純JS生成DOM自然趕不上直接的markup。

    開啟瀏覽器,隨便點開一個頁面,滑鼠右鍵:檢視原始碼,大家一目瞭然,無論什麼樣的頁面,最終想要在瀏覽器展示,都必須生成實體的DOM節點。

    簡單點說,就是js也需要經過編譯,生成瀏覽器可以展示的DOM,才能展示在瀏覽器頁面。

    HTML/CSS又有統一的W3C標準,所有的瀏覽器,都按照這個標準來執行,可以省去很多不必要的麻煩。

    其次,就是其他一些因素:

    相容性

    考慮那些無法執行JS的使用者代理,使用者使用不支援JS的瀏覽器(比如較老的手機瀏覽器),或者禁用指令碼。這種情況下,js是完全不能顯示的,給使用者造成糟糕的使用者體驗。

    學習成本

    HTML/CSS簡單,易學,就算剛入門的小白,看看文件,教學影片,也能很快上手完成工作。而JS就相對複雜許多。寫過原生JS的人都知道,js有很多第三方類庫,想要上手,沒有一定的基礎是很難得。

    維護成本

    和學習成本一樣,想象一個原生JS的頁面出現了bug,或者需要更改內容,這會使一件想到頭大的事情,不是麼?複雜的頁面邏輯,各種函式縱橫交錯,我相信,遇到這樣的事情,每個程式設計師內心都是拒絕的...

    以百度首頁為例,F12開啟控制檯,我們看到的就是當前頁面的HTML原碼,當然,這個是經過編譯處理的最終結果,這裡引入了很多的第三方js庫。

  • 2 # 程式碼蟲蟲

    其實這個問題答案不需要太長,幾句話就能說明白了。

    對於前端來說HTML/CSS程式碼 直接靠瀏覽器核心去進行解析的。

    JS程式碼也是透過瀏覽器核心去解析的。

    如果透過js去控制css或者html,解析過程就發生變化了。不論是效率還是效能都會有所影響。

    同樣,對於後端程式碼也是如此,就以PHP為例來說,如果能使用php擴充套件自帶的系統函式,就不要使用自定義的函式,這也是考慮到效能問題,只有考慮到系統函式滿足不了自己的功能時才會使用自定義函式為自己量身定做自己需要的功能!

  • 3 # 拂茵

    以前的瀏覽器因為安全問題,很多都自動不允許執行JS。體驗就很差。

    現在JS是主流了,也是HTML5三大支柱之一。

    但是隻要跟DOM沾上邊,就慢了不止一個數量級。就算是谷歌V8引擎也還是不如HTML,CSS原生態。

  • 中秋節和大豐收的關聯?
  • 承重牆拆除後,需要加固嗎?