关于javascript,html,css的编码规范,备忘。
黄金定律:永远遵循同一套编码规范
HTML
- tab=2个空格——保证所有环境对于下获得一致展现。
- 对于属性定义全部使用双引号。
- 不要在自闭和元素的尾部添加斜线。(img,input等标签)
- 为html元素指定
lang
属性,从而为文档设置正确的语言,有助于语音合成工具确定其所应该采用的发音。有助于翻译工具确定其翻译时所应遵守的规则。 - 添加
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
,开启IE兼容模式,确定绘制当前页面所应该采用的IE版本。 - 明确声明字符编码,确保浏览器快速准确地判断内容的渲染模式。
- 在引入js和css文件时,一般无需指定其type属性,因为
text/css
和text/javascrit
分别是他们的默认值。 - 任何时候尽量使用最少标签。
- 属性顺序:
class
id
,name
data-*
src
,type
,for
,href
title
,alt
aria-*
,role
CSS
- tab=2个空格
- 每个声明块的左花括号前有一个空格,右花括号独起一行。
- 每条声明独占一行(报错时有用)
- 不要在
rgb()
rgba()
hsl()
hsla()
rect()
内部逗号前后加入空格。 - 省略小数点前的0。
- 16进制值全部小写,且尽量使用简写的16进制值:
#FFFFFF
写成#fff
。 - 0后面不要加单位。
margin: 0px
写成margin: 0
。 - 属性声明顺序:
Positioning
定位Box Model
元素的尺寸Typographic
字体行高等和印刷相关的Visual
其他视觉效果,背景颜色,阴影等。
- 尽量不要使用
@import
,它比link
标签慢且增加额外请求次数。 - 不要滥用简写属性。
- 当使用带有特定厂商的前缀的属性时,保持属性值垂直对齐。像这样:
JavaScript
- 表示区块起首的大括号不要另起一行。
- 不要省略句末的分号。
- 不要使用“==”运算符,使用严格相等运算符“===”。
因为相等运算符会自动转换变量类型,造成很多意想不到的情况。 - 所有变量声明都放在函数的头部。
- 所有函数都在使用前定义。
- 避免使用全局变量,如果不得不,使用大写变量名加以区别。
因为全局变量对任何一个代码块都可读可写,这对代码的模块化重复使用非常不利。 - 不要使用
new
命令,改用Object.create()
命令。
var o = new myObject()
一旦你忘了加new
,myObject()
内部的this
关键字就会指向全局对象,导致所有绑定在this
上的变量都变为全局变量。 - 将
--
换成-=
,++
换成+=
。
因为自增和自减运算符放在变量前和放在变量后结果不一样,容易造成错误。 - 总是使用
{}
表示区块,不要省略。 - 运算符和操作符左右加空格。
参考