AirbnbJavaScript风格指南

作者:高天阳

邮箱:13683265113@163.com

更改历史

* 2018-09-14    高天阳    更新目录
* 2017-11-14    高天阳    初始化文档

1 目录

2 正文

2.1 类型

  • 原始值:存取直接作用于它自身。

    • string

    • number

    • boolean

    • null

    • undefined

  • 复杂类型:存在时作用于它自身值的引用。

    • object

    • array

    • function

2.2 对象

  • 使用直接量创建对象。

  • 使用同义词替换需要使用的保留字。

2.3 数组

  • 使用直接量创建数组。

  • 向数组增加元素时使用Array#push来替代直接赋值。

javascript

var someStack = [];

Demo

Demo

2.4 字符串

  • 使用单引号''包裹字符串。

  • 超过100个字符的字符串应该使用连接符写成多行。

  • 注:若过度使用,通过连接符连接的长字符串可能会影响性能。jsPerf讨论

  • 程序化生成的字符串使用Array#join连接而不是使用连接符。尤其是IE下:jsPerf

2.5 函数

  • 函数表达式:

  • 永远不要在一个非函数代码块(if,while等)中声明一个函数,把那个函数赋予给一个变量。但是它们的解析表现不一致。

  • 注意: ECMA-262定义为一组语句。函数声明不是语句。阅读对ECMA-262这个问题的说明

  • 永远不要把参数命名为arguments。将这取代函数作用英文域内的arguments对象。

2.6 属性

  • 使用.来访问对象的属性。

  • 当通过变量访问属性时使用中括号[]

2.7 变量

  • 使用总是var来声明变量。不这么做将导致产生全局变量。我们要避免污染全局命名空间。

  • 使用var声明每一个变量。

这样做的好处是增加新变量将变的更加容易,你而且永远不用再担心调换错;,

  • 最后再声明未赋值的变量。当你需要引用前面的变量赋值时这将变的很有用。

  • 在作用域顶部声明变量。这将帮你避免变量声明提升相关的问题。

  • ```

```

难点:最佳实践,超出于示例,应该归纳总结出积累的技巧。

3 同类技术对比

难点:归纳比对项

参考资料

Last updated

Was this helpful?