謝邀!!!
我先拋出一個問題,然后再討論為什么說能用HTML/CSS解決的問題,就不要用JS呢?
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庫。
希望我的答案對你有幫助,個人觀點,有不同想法,歡迎在評論區留言,一起探討學習,謝謝支持!!!