@fengfeng
2014-10-11T08:51:02.000000Z
字数 1806
阅读 1123
前端规范
开发建议
dev
开发约定
<!DOCTYPE html>
<meta charset="utf-8" />
<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<link type="text/css" rel="stylesheet href="1.css">
<!‐‐[if IE 6 ]>
<link type="text/css" rel="stylesheet" href="ie.css">
<![endif]‐‐>
</head>
...
通过class来进行ie css hack时,条件注释加到html上
<!DOCTYPE html>
<!--[if IE6]><html class="ie6"><![endif] -->
<!--[if !IE]><!--><html><!--<![endif]-->
<head>
...
</head>
<body>
...
模块化定义或自执行模块定义
//自执行模块定义
;(function(){
var var1,var2;
//do something
})();
//cmd 模块定义
define([dep1,dep2],function(var_dep1,var_dep2,...){
var var1,var2;
//do something
//return {...};
//return function(){};
// no return
});
//避免在模块定义中使用window.xxx = xxx;
任何字面量值、全局变量或者属性名被使用超过 2 次(包括2次),都应该用局部变量存储代替
使用数组和对象的字面量
var arr = [];
var o = {};
JSON 的“名”规定为任何字符串
JSON 字符串必须使用双引号包围
JSON 数字整数的首位不允许为 0
必要时组合jQuery和javascript原生代码 15. 代码精简
// 糟糕
var
$container = $("#container"),
$containerLi = $("#container li"),
$element = null;
$element = $containerLi.first();
//... 许多复杂的操作
// better
var
$container = $("#container"),
$containerLi = $container.find("li"),
$element = null;
$element = $containerLi.first().detach();
//... 许多复杂的操作
$container.append($element);
$myVar = $myVar || $('#selector');
// 糟糕
if(collection.length > 0){..}
// 建议
if(collection.length){..}