偶先抛出一个问题,然后再讨论为什么说能用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库。
希望偶的答案对你有帮助,个人观点,有不同想法,欢迎在评论区留言,一起探讨学习,谢谢支持!!!