html
嵌套元素应当缩进一次(即两个空格)。<br>对于属性的定义,确保全部使用双引号,绝不要使用单引号
结构嵌套简单明了
属性
属性顺序
class<br>id, name<br>data-*<br>src, for, type, href, value<br>title, alt
css
用两个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致展现的方法。<br>为选择器分组时,将单独的选择器单独放在一行。<br>为了代码的易读性,在每个声明块的左花括号前添加一个空格。<br>声明块的右花括号应当单独成行。<br>每条声明语句的 : 后应该插入一个空格。<br>为了获得更准确的错误报告,每条声明都应该独占一行。<br>所有声明语句都应当以分号结尾。最后一条声明语句后面的分号是可选的,但是,如果省略这个分号,你的代码可能更易出错。<br>对于以逗号分隔的属性值,每个逗号后面都应该插入一个空格<br>十六进制值应该全部小写,例如,#fff。在扫描文档时,小写字符易于分辨,因为他们的形式更易于区分。<br>尽量使用简写形式的十六进制值,例如,用 #fff 代替 #ffffff。<br>为选择器中的属性添加双引号,例如,input[type="text"]。只有在某些情况下是可选的,但是,为了代码的一致性,建议都加上双引号。<br>避免为 0 值指定单位,例如,用 margin: 0; 代替 margin: 0px;。
class 命名<br>
class 名称中只能出现小写字符和破折号(dashe)(不是下划线,也不是驼峰命名法)。破折号应当用于相关 class 的命名(类似于命名空间)(例如,.btn 和 .btn-red)。
避免过度任意的简写。.btn 代表 button,但是 .a 不能表达任何意思
避免使用属性选择器(例如,[class^="type"])。浏览器的性能会受到这些因素的影响。
javascript
空格
二元运算符两侧必须有一个空格,一元运算符与操作对象之间不允许有空格<br>代码块起始的左花括号前需要添加一个空格<br>关键字后面需要有一个空格<br>在对象创建时,属性中的 : 之后必须有空格,: 之前不允许有空格<br>
命名
变量名称 函数名称 对象名称 数据类型存储 定义的变量使用驼峰命名法 goPay
常量命名使用大写加下划线命名 PAY_SUCCESS(部分?)
循环
不要在循环体中包含函数表达式,事先将函数提取到循环体外<br>对循环内多次使用的不变值,在循环外用变量缓存<br>对有序集合进行遍历时,缓存 length<br>
类型检查
类型检测优先使用 typeof。对象类型检测使用 instanceof。null 或 undefined 的检测使用 == null