一:基本的格式化 1,缩进层级关系 2.适当插入空行 提高可读性 3.区分变量 函数 常数 二:注释 1.单行:注释之前有空行,缩进层级关系 结束代码和注释之间至少有一个缩进 2.多行:/开头占一行 /结尾占一行 中间每开头*+空格 三:语句和表达式 1.花括号对齐方式 四:变量函数和运算符 1.定义变量可以在任何地方 不影响计算 但不推荐使用 定义函数也一样 五:UI层的松耦合 1.将javascript从css抽离 (定义类 在css中操作) 2.将javascript从html抽离 (监听) 3.讲html从javascript中抽离 (从服务器或者客户端加载) 六:避免使用全局变量(命名冲突 代码脆弱难以测试) 1.避免意外全局变量 2.使用命名空间 3.模块 七:事件处理 1.隔离应用逻辑 2.不要分发事件对象 八:避免空比较 1.检测原始字符串 typeof 2.检测引用值 3.检测函数 4.检测数组 isArray 5.检测属性 if(’count’ in object) 九:将配置数据从代码中分离出来 1.抽离配置数据 2.保存配置数据 十:抛出自定义错误 1.throw new error(”something had happend”) 2.何时抛出数据 避免检查太多错误 3.try{} catch(ex){} 4.错误类型 十一:不是你的对象不要动 1.不覆盖不新增不删除 2.阻止修改 十二:浏览器嗅探 1.user-agent(用户代理)检测 2.特性检测 3.避免特性推断 4.避免浏览器推断 十三:文件和目录结构 1.保持第三方代码独立 2.确定创建位置 3.保持测试代码完整性 build(最终构建后的文件) src(所有源文件包括进行文件分组子目录) test(测试文件) 十四:ANT(javascript构建工具) build项目 十五:校验 1.查找文件 2.任务 3.增强的目标操作 十六:文件合并并加工 十七:文件精简和压缩 十八:文档化 十九:自动化测试 二十:组装到一起