开始学前端的时候,遇到什么问题,从网上查资料,解决了就pass,不过心里心里还是比较没谱的,因为不符合学院派的作风。起码也得知道前端的原则是什么,好的前端代码的标准是什么,才能评价自己的代码。
最近终于抽空看了看有关JS的书,总算心里有了点底。
一、层次分离
把前端分为三层:结构层、表示层、行为层,这三样分别对应者HTML、CSS、JS。基本的现状是:
1. HTML里能嵌入CSS和JS
2. CSS和JS功能上有重叠的地方
所谓层次分离就是不混淆各自的主要功能,狭义上说就是HTML定义结构,CSS定义样式,JS定义行为。层次分离的好处就是有利于维护。
二、平稳退化(其实跟渐进增强一个意思)
由于浏览器的不同,浏览器中的设置也不同,我们写的代码即便不能支持所有的情况,也要有“异常处理”,比如得支持IE,得容忍不支持JS的设置。当使用不支持JS的浏览器时,也能正确的按照预期的呈现内容,那就做到了平稳退化。现状是:
1. IE非常讨厌,它总有自己的一套特殊解决方案,导致很多情况下为了支持IE,多出一倍的思维工作量
2. 各不同版本的浏览器对JS的支持程度不一样,导致总是需要判断是否支持JS的某些特定功能
个人现在觉得,平稳退化没什么必要,因为普遍用的都是先进浏览器,不过书中总是在特别强调平稳退化。也许是我读书少,见识浅。
三、细节问题
比如性能:需要导入的JS脚本是否需要压缩处理,JS脚本的插入位置,脚本是分成多个文件还是写在一个文件里等等。
另外再谈谈一般意义上好的代码标准。
1. Don‘t Repeat Yourself(DRY)原则。
即便只是一个比较长的变量或者"."连缀,也定义成一个新的简单易理解的变量,方便也不容易出错。
2. 注释
该加注释的时候加注释,不然后面再来看的时候花费的时间更长。
3. 抽象
把最开始实现功能的代码中的硬编码,改为用变量表示,通用性会提高很多。
4. 输入检验和异常检测
这里涉及到安全和友好的问题。
即使不能完全做到,在code的时候有这些意识也是非常必要的。
版权声明:本文为博主原创文章,未经博主允许不得转载。