日期:2014-05-16  浏览次数:20452 次

javascript风格分享
目的:
  合理javascript开发风格。使别人轻松的阅读你的代码,并使代码更优雅。

1、空白
  永远都不要混用空格和Tab。

2、美化语法
  a、小括号, 花括号, 换行
  if/else/for/while/try 通常都有小括号、花括号和多行
  b、一元操作符(如 delete, typeof, void)或在某些关键词(如 return, throw, case, new) 之后, 不要使用括号;

3、赋值, 声明, 函数
  a、同类型变量组合在一起。
  b、函数内变量声明,总在作用域顶部
  c、函数声明必须有意义(构造器首字母大写)
  d、变量声明规范:
  e、普通变量统一使用驼峰形式;
  f、常量使用全部大写, 多个单词以下划线分隔
  g、私有变量, 属性和方法, 名字以下划线开头

4、引号
  不要混合使用单引和双引,选择一种。

5、分号
  建议补全所有分号(压缩)

6、==和===
  尽量少的使用==(会转换类型后,在匹配),性能考虑

7、For in循环
  for in只用于遍历对象

8、Array和Object
  使用字面量,尽量避免构造函数

9、修改原生方法
  避免修改原生方法,防止造成不必要的问题

10、Window
  可以用个this代替window,在某些环境下window不代表全局对象

11、闭包
  使用需小心内存泄露
  闭包保留了一个指向它封闭作用域的指针, 所以, 在给 DOM 元素附加闭包时, 很可能会产生循环引用, 进一步导致内存泄漏.

12、Eval
  只在解析json时使用eval,注意高版本浏览器可以使用JSON.parse。

13、With
  放弃使用,会改变作用域

14、This赋给变量
15、编写模块时的编码风格
  a、在模块内部return {}里暴露执行公共接口
  b、new A()在模块内部解决,不要暴露出来

16、命名
  原则:有意义的命名,浅显易懂
  a、私有变量, 属性和方法, 名字以下划线开头
  b、保护变量, 属性和方法, 名字同普通变量名
  c、常量使用大写
  d、为全局变量使用命名空间

17、注释
  a、单行注释放于代码上方为首选
  b、多行也可以
  c、行末注释应被避免!
  d、JSDoc 的方式也不错,但需要比较多的时间