现如今最流行的JavaScript代码规范

 更新时间:2014年03月08日 10:31:33   作者:  
流行的虽然不一定是好的,但是从交流的角度来说,按照流行的风格编写代码,可以让你的代码在大多数人看起来更习惯

什么是最佳的JavaScript代码编程规范?这可能是一个众口难调的问题。那么,不妨换个问题,什么代码规范最流行?

sideeffect.kr通过分析GitHub上托管的开源代码,得出了一些有趣的结果。一起来看看吧。

行末逗号对行首逗号
行末引号:

复制代码 代码如下:

var foo = 1,
    bar = 2,
    baz = 3;

var obj = {
    foo: 1,
    bar: 2,
    baz: 3
};

行首引号:
复制代码 代码如下:

var foo = 1
  , bar = 2
  , baz = 3;

var obj = {
    foo: 1
  , bar: 2
  , baz: 3
};

行末,92.345%;行首,7.655%。(基于1,100,251次提交统计。)

空格和Tab
这年头大家都爱用空格了。使用空格缩进可以保证不同的开发者、不同的编辑器设置下看到的结果是一样的。

空格,81.1 %;Tab,18.9 %。(基于2,019,550次提交统计。)

函数后是否添加空格
无空格

复制代码 代码如下:

function foo() {
  return "bar";
}

有空格
复制代码 代码如下:

function foo () {
  return "bar";
}

无空格,67.424 %;有空格,32.576 %。(基于1,212,488次提交统计。)

参数与括号间是否有空格
无空格

复制代码 代码如下:

function fn(arg1, arg2) {
//or
if (true) {

有空格
复制代码 代码如下:

function fn( arg1, arg2 ) {
  // ...
}

if ( true ) {
  // ...
}

无空格,94.31 %;有空格,5.69 %。(基于1,514,971次提交统计。)

对象字面量中冒号周围是否有空格
冒号后有空格

复制代码 代码如下:

{
  foo: 1,
  bar: 2,
  baz: 3
}

冒号后无空格
复制代码 代码如下:

{
  foo:1,
  bar:2,
  baz:3
}

冒号前后均有空格
复制代码 代码如下:

{
  foo : 1,
  bar : 2,
  baz : 3
}

后空格,62.955 %;无空格,22.891 %;前后空格,14.154 %。(基于1,300,035次提交统计。)

个人觉得,无空格太挤了,不利于快速分清key和value。前后空格的话,恐怕需要对齐冒号,看起来才美观,从统计数据来看,大部分程序员懒得对齐冒号(还是说,大部分程序员的IDE或编辑器不够智能?)

条件语句
有空格

复制代码 代码如下:

if (true) {
  //...
}

while (true) {
  //...
}

switch (v) {
  //...
}

无空格
复制代码 代码如下:

if(true) {
  //...
}

while(true) {
  //...
}

switch(v) {
  //...
}

有空格,78.276 %;无空格,21.724 %。(基于1,163,316次提交。)

单引号、双引号
单引号,56.791 %;双引号,43.209 %。(基于1,705,910次提交。)

总结
所以说,最流行的代码规范是:

•行末逗号
•空格缩进
•函数名称后无空格
•函数参数与括号间无空格
•对象字面量的冒号后加空格,冒号前不加
•条件语句关键字后加空格

流行的不一定是好的(比如流行性感冒),但是从交流的角度来说,按照流行的风格编写代码,可以让你的代码在大多数人看起来更习惯。

相关文章

  • 超全面的javascript中变量命名规则

    超全面的javascript中变量命名规则

    javascript 有三大经典的变量命名法:匈牙利命名法,驼峰式命名法和帕斯卡命名法。今天主要介绍下这三种命名方式。文中通过示例代码介绍的很详细,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • javascript 多浏览器 事件大全

    javascript 多浏览器 事件大全

    javascript 多浏览器 事件大全 ,对于一些事件的使用限制于触发方法可以参考下。
    2010-03-03
  • 「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)

    「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)

    这篇文章主要介绍了JavaScript手写代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • javascript日期格式化示例分享

    javascript日期格式化示例分享

    这篇文章主要介绍了javascript日期格式化示例,需要的朋友可以参考下
    2014-03-03
  • 荐书|您有一份JavaScript书单待签收

    荐书|您有一份JavaScript书单待签收

    ​学习是一个持续不断的过程,在互联网技术里畅游的程序员们,对学习的渴望更是难以穷尽,下面这篇文章主要给大家分享了关于Javascript相关的书籍,对大家学习Javascript具有一定的参考学习价值,下面来一起看看吧。
    2017-07-07
  • JavaScript之数组(Array)详解

    JavaScript之数组(Array)详解

    这篇文章主要介绍了JavaScript之数组(Array)详解,本文详细讲解了JavaScript数组的创建、检测数组、转化方法、栈方法、队列方法、重排序方法、操作方法、位置方法等内容,需要的朋友可以参考下
    2015-04-04
  • JavaScript静态类型检查工具FLOW简介

    JavaScript静态类型检查工具FLOW简介

    这篇文章主要介绍了JavaScript静态类型检查工具FLOW简介,需要的朋友可以参考下
    2015-01-01
  • 深入理解JavaScript中的对象

    深入理解JavaScript中的对象

    这篇文章主要介绍了深入理解JavaScript中的对象,是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06
  • 简介JavaScript中charAt()方法的使用

    简介JavaScript中charAt()方法的使用

    这篇文章主要介绍了JavaScript中charAt()方法的使用详解,是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06
  • Javascript基础知识(三)BOM,DOM总结

    Javascript基础知识(三)BOM,DOM总结

    本文是基础知识系列的第三篇文章,主要介绍javascript中BOM,DOM的一些心得总结,非常实用,有需要的朋友可以参考下
    2014-09-09

最新评论