一些命名规范书或js书命名规范章节,喜欢将命名规范跟语法混在一块例如:

1.使用“var”定义、初始化变量防止产生全局变量,多变量一块定义使用“,”(本身这种方式就很有争议)。

2.结尾必加“;”防止js执行效果跟想象中不一样。

3.判断两数相等使用“===”不要使用“==”。(实际上==会出问题情况很少发生,而js的语法章节也会提及建议使用“===”)

等等导致规范过于冗长,在我看来,命名规范不应太多,而是将实地编码中最常用到的列出即可。

研究过一些框架低层代码、看完《编写可维护的代码》整理出适合自己的js编码规范:

1.命名。

文字表述太繁琐,直接以下例子说明:

常量     AGE   MY_AGE

一般变量 age   my_name  my_firstName

私有属性 _age  _my_name _my_firstName

函数     init()  changeName() changMyName()

私有方法 _init() _changeName() _changeMyName()

类       Sprite  JumpSprite

2.方法、函数建议用动词:

Sprite.getTag();

Sprite.isLoad();


3.间隔、缩进。

间隔:操作符之间都是用空格间隔(除了特殊的负号“-”及自加自减)。

for (i = , len = items.length; i < len; i++){   

    doSomething(items[i]);

}

缩进:虽然有些文章认为2格的空格缩进便于阅读跟代码转移,但实际上2行缩进在大部分IDE上很难操作

因为主流IDE的默认缩进都是4格,关于使用"Tab"导致的问题,使用IDE、web或本地格式化软件的

“格式化代码”即可解决。

4.行宽:

一行代码超过80行,不同的IDE有不同的提示:如editplus右下角有当前行数、列数提示

webStorm直接就有一条明显的线划分提示。

5.数组、对象定义:

定义数组不用new Array(),而是用"[]",定义对象不用new Object,而是用"{}"。

 6.文件夹、文件命名:

文件夹使用蛇形命名法,如:syntax_highlighter, 文件使用驼峰命名法,如:shCore.css。(参考高亮插件:syntaxHighlighter的命名法)

附上某一500强公司的js规范:

1、禁止使用for-in语句枚举数组。(因为for in遍历,会遍历出多余的内容,如扩展的方法)。

2、禁止使用with语句。(容易出错、有安全隐患,且都有代替的代码实现)。

3、业务代码禁止使用eval。(同上,主要是防止XSS攻击)

禁止使用Function 构造器,它是另外一种形式的eval。

禁止给setTimeout 或者setInterval 传递字符串类型参数,否则这两个方法的行为就类似于eval。

4、禁止使用new Object(),必须用{}替代。(在Javascript里分配大量的new变量地址是一项很慢的操作,为了效率起见,你应该始终使用对象符号。)

5、禁止使用new Array(),必须用[]替代。(同上)

javascript编码规范[原创]的更多相关文章

  1. JavaScript编码规范指南

    前言 本文摘自Google JavaScript编码规范指南,截取了其中比较容易理解与遵循的点作为团队的JavaScript编码规范. JavaScript 语言规范 变量 声明变量必须加上 var  ...

  2. 【转发】网易邮箱前端技术分享之javascript编码规范

    网易邮箱前端技术分享之javascript编码规范 发布日期:2013-11-26 10:06 来源:网易邮箱前端技术中心 作者:网易邮箱 点击:533 网易邮箱是国内最早使用ajax技术的邮箱.早在 ...

  3. 网易前端JavaScript编码规范

    在多年开发邮箱webmail过程中,网易邮箱前端团队积累了不少心得体会,我们开发了很多基础js库,实现了大量前端效果组件,开发了成熟的opoa框架以及api组件,在此向大家做一些分享.今天想先和大家聊 ...

  4. JavaScript编码规范[百度]

    JavaScript编码规范 1 前言   2 代码风格   2.1 文件   2.2 结构   2.2.1 缩进   2.2.2 空格   2.2.3 换行   2.2.4 语句   2.3 命名 ...

  5. 网易邮箱前端Javascript编码规范:基础规范

    在多年开发邮箱webmail过程中,网易邮箱前端团队积累了不少心得体会,我们开发了很多基础js库,实现了大量前端效果组件,开发了成熟的opoa框架以及api组件,在此向大家做一些分享.今天想先和大家聊 ...

  6. JavaScript 编码规范(中文/Airbnb公司版)

    Airbnb 是一家位于美国旧金山的公司,本文是其内部的 JavaScript编码规范,写得比较全面,在 Github 上有 16,686 + Star,3,080 + fork,前端开发人员可参考. ...

  7. 学习一份百度的JavaScript编码规范

    JavaScript编码规范 1 前言 2 代码风格 2.1 文件 2.2 结构 2.2.1 缩进 2.2.2 空格 2.2.3 换行 2.2.4 语句 2.3 命名 2.4 注释 2.4.1 单行注 ...

  8. 《编写可维护的JavaScript》——JavaScript编码规范(一)

    缩进层级 代码如何缩进通常有两种主张: 使用制表符缩进 每一个缩进层级都用单独的制表符表示.这种方法的主要缺点是:系统对制表符的解释不一致.这些差异会导致不同的开发者对同一段代码有不同的看法的,这正是 ...

  9. Javascript编码规范,好的代码从书写规范开始,增强代码的可读性,可维护性,这是相当重要的!

    1. 前言 JavaScript在百度一直有着广泛的应用,特别是在浏览器端的行为管理.本文档的目标是使JavaScript代码风格保持一致,容易被理解和被维护. 虽然本文档是针对JavaScript设 ...

随机推荐

  1. 随笔:关于 FastAdmin ueditor 插件 中的 rand mt_rand mt_getrandmax 问题

    随笔:关于 FastAdmin ueditor 插件 中的 rand mt_rand mt_getrandmax 问题 问题来源 一位小伙伴在使用 Ueditor 插件时出错,因为用的是 php7.1 ...

  2. 遍历树节点(多层)的方法(java)

    前序遍历,后序遍历,广度遍历,深度遍历,遍历一级节点.以及按钮如何响应点击事件. import java.awt.*; import java.awt.event.*; import java.uti ...

  3. emacs之配置yasnippet

    ~/emacsConfig/auto-complete-yasnippet-setting.el (require 'yasnippet) (setq ac-sources (append '(ac- ...

  4. Hive 安装操作

    本篇为安装篇较简单: 前提:1: 安装了hadoop-1.0.4(1.0.3也可以)正常运行2:安装了hbase-0.94.3, 正常运行 接下来,安装Hive,基于已经安装好的hadoop,步骤如下 ...

  5. urllib2的GET和POST请求(五)

    urllib2默认只支持HTTP/HTTPS的GET和POST方法 urllib.urlencode() urllib 和 urllib2 都是接受URL请求的相关模块,但是提供了不同的功能.两个最显 ...

  6. linux学习(别人指出来的), 回头有针对性的学下!

    应该是 会linux 基本操作吧linux 安装 lamp lnmp php拓展这些基本都得会把知道subversion 和 github 这俩吧windows的代码同步到linux上无需ftp 会跟 ...

  7. SystemColors 成员

    名称 说明 ActiveBorder 获取 Color 结构,它是活动窗口边框的颜色. ActiveCaption 获取 Color 结构,它是活动窗口标题栏的背景色. ActiveCaptionTe ...

  8. Mysql 索引概论

    Mysql性能下降原因 JOIN连接过多 ,索引失效(单值,复合), 查询SQL过水, explian 语法分析SQL性能 https://blog.csdn.net/b1303110335/arti ...

  9. .NET和UNITY版本问题

    亲测:unity5.5之前:通过VS工程属性查看.NET版本为3.5, 对应unity中没有可查看的项,只有一个Api Compatibility level 是.net subset2.0,看名字, ...

  10. Kafka学习之broker配置(0.8.1版)(转)

    broker.id  默认值:无 每一个broker都有一个唯一的id,这是一个非负整数,这个id就是broker的"名字",这样就允许broker迁移到别的机器而不会影响消费者. ...