".a div"和".a div.b",为什么后者好?如果需求有所变化,在".a"下有多加了一个div,试问,开始的样式是不是会影响后来的div啊~
6. (不推荐)ie使用filter,( 禁止)使用expression
这里主要是效率问题,应该当格外注意,要少用烧CPU的东西~
7. CSS注释用“/* */”表示,单行注释时,被注释对象与前后注释符各保留一个空格,且单独占一行;多行注释时,开始注释符和结束注释符各占一行。例如:
/* 注释CSS */ /* table { border-collapse: collapse; } */
JS细化规范
1.换行
每行代码应少于120个字符,多于这个数量时,可以考虑换行,“.”或“+”这类操作符应放在行尾,换行后的代码必须在换行前多一层缩进。
如果函数或方法中的参数较长,要进行适当的划分。
禁止在return关键字及要返回的表达式之间换行。例如:
// 实际是返回的是undefined,不是1 function test() { return 1; }
2.代码行
禁止把多个短语句写在一行中,即一行只写一条语句。
if、for、do、while、switch、case、default、break、continue等语句自占一行。
if、for、do、while等所有的循环体和判断体的执行语句部分都需要用"{}"括起来,禁止省略花括号。例如:
// 错误的 if (i < 5) i += 1; // 正确的 if (i < 5) { i += 1 }
3.对齐
代码块的分界符{},“{”跟随在上一行,并且前边有一空格隔开,“}”应独占一行并且位于同一列,同时与引用它们的语句左对齐。
在函数体的开始、类的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。
4.空格
关键字之后必须有空格,以突出关键字。
函数名、方法名与左括号“(”之间不能保留空格,例如:
// 错误的 function getInfo () { // code } // 正确的 function getInfo() { // code }
在声明函数表达式时,function与左括号“(”之间不能保留空格,例如:
// 错误的 var user = function () { // code } // 正确的 var user = function() { // code }
逗号后面加空格。
赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、“+=” “>=”、“<=”、“+”、“*”、“%”、“&&”、“||”等二元操作符的前后应当加空格。
"!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格。
"."、"[]"前后不加空格。
5.空行
在每个类声明之后、每个函数定义结束之后都要加空行。
在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。
6.使用严格的条件判断符。用===代替==,用!==代替!=
7.避免额外的逗号。如:var arr = [1,2,3,]
8.语句必须都有分号结尾,除了for,function,if,switch,try,while。
9.左花括号置于行末,右花括号置于行首。
10.下面类型的对象不建议用new构造:new Number,new String,new Boolean,new Object(用{}代替),new Array(用[]代替)。
11.数组成员间的“,”后面需要保留一个空格。
12.禁止在js/json中使用javascript保留关键字词命名,在IE中容易造成错误。关键字(break、case、catch、continue、default、delete、do、else、finally、for、function、if、in、instanceof、new、return、switch、this、throw、try、typeof、var、void、while、with),关键词(abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、fimal、float、goto、implements、import、int、interface、long、mative、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile)。
13.建议使用“+”作为换行连接符,而不是使用“\”。
14.提示信息禁止使用概括笼统的语言描述,应该简洁明了,看到信息立即能定位到错误,如提示用户信息报错用“该用户不存在”,而不是用“后台返回数据有误”、“网络超时”。