最近看NodeJS中,有一部分写JS约定俗成的编程规范(附录B,详情参考附件),感觉在实际工作中能用到,
大致意思分享给大家,详情参考附件:
1、缩进:建议两空格 作为Node.js代码的缩进标记;
2、行宽:建议把行宽限制为80个字符;
3、语句分隔符:建议一律使用分号,哪怕一行只有一个语句,也不要省略分号;
4、变量定义:永远使用 var 定义变量,而不要通过赋值隐式定义变量;
5、变量名和属性名:使用小驼峰式命名法(lower camel case)作为所有变量和属性的命名规则,不建议使用任何单字母的变量名;
6、函数:对于一般的函数我们同样使用小驼峰式命名法。但对于对象的构造函数名称(或者不严格地说“类”的名称) ,我们使用大驼峰式命名法(upper camel case) ,也称为Pascal命名法。规定函数名与参数表之间规定无空格,参数表和括号( { 和 } )之间要有一个空格,并且在同一行;
7、引号:建议一律统一为单引号, 因为JSON、 XML都规定了必须是双引号, 这样便于无转义地直接引用;
8、关联数组的初始化:将 var = { 放在一行,下面每行一对键值,保持两空格的缩进,以分号结尾, }; 最后单独另起一行。 对于每对键值, 除非键名之中有空格或者有非法字符, 否则一律不用引号;
9、等号:尽量使用 === 而不是 == 来判断相等,因为 == 包含了隐式类型转换;
10、命名函数:尽量给构造函数和回调函数命名,这样当你在调试的时候可以看见更清晰的调用栈;
11、对象定义:尽量将所有的成员函数通过原型定义,将属性在构造函数内定义,然后对构造函数使用new 关键字创建对象。绝对不要把属性作为原型定义,因为当要定义的属性是一个对象的时候, 不同实例中的属性会指向同一地址。 除非必须, 避免把成员函数定义在构造函数内部,否则会有运行时的闭包开销;
12、 继承:避免使用复杂的继承,如多重继承或深层次的继承树;

PS:附录A中JS的一些特性,讲的不错,有空可以看下。

JavaScript编程规范的更多相关文章

  1. Dojo Javascript 编程规范(转)

    前言 相当不错的 Javascript 编程风格规范,建议大家采用此规范编写 Javascript.原文链接: http://dojotoolkit.org/developer/StyleGuide ...

  2. 【JavaScript 开发规范】

    Javascript 最佳实践http://sofish.de/1171http://sofish.de/1181 总是使用 ‘var’ √ 特性检测而非浏览器检测 √ 使用方括号记法 √ 使用&qu ...

  3. javascript模块化编程规范

    一.javascript模块化编程规范: 二.关于commenjs规范和AMD规范: 根本不同:前者用于服务器端同步加载模块:后者是客户端异步加载模块. 同点:两者都有一个全局函数require(), ...

  4. Javascript模块化编程-规范[2]

    实现Javascript模块化,固然很重要,但是怎样才能实现国际上都能认可的模块化呢?模块化编程规范随应运而生. 目前Javascript模块化规范主要有两种:CommonJS和AMD. Common ...

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

    变量.函数和运算符 在讨论过基本的JavaScript书写格式化之后,接下来关注如何使用函数.变量和运算符来减少复杂度和增强可读性就显得十分重要了. 变量声明 变量声明是通过var语句来完成的.var ...

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

    语句和表达式 在JavaScript中,诸如if和for之类的语句有两种写法,使用花括号的多行代码或者不使用花括号的单行代码.比如: //不好的写法,尽管这是合法的JavaScript代码 if (c ...

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

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

  8. 异步编程之Javascript Promises 规范介绍

    什么是 Promises Promises是一种关于异步编程的规范,目的是将异步处理对象和处理规则进行规范化,为异步编程提供统一接口. 传统的回调函数 说到JavaScript的异步编程处理,通常我们 ...

  9. Javascript编程风格

    Douglas Crockford是Javascript权威,Json格式就是他的发明. 去年11月他有一个演讲(Youtube),谈到了好的Javascript编程风格是什么.我非常推荐这个演讲,它 ...

随机推荐

  1. 图片_ _图片缓存之内存缓存技术LruCache,软引用

    每当碰到一些大图片的时候,我们如果不对图片进行处理就会报OOM异常,这个问题曾经让我觉得很烦恼,后来终于得到了解决,那么现在就让我和大家一起分享一下吧.这篇博文要讲的图片缓存机制,我接触到的有两钟,一 ...

  2. AsyncTask的学习

    具体的用法请看我之前的一篇随笔,用php+mysql+json实现用户反馈. AsyncTask的目标是为你的线程提供管理服务. AsyncTask的执行分为四个步骤,每一步都对应一个回调方法,这些方 ...

  3. dev 注册方法 z

    工具栏注册方法: 1.将下面的内容保存为  bat文件,放到 Components\Tools\ 目录下,然后双击执行.注意,可能需要管理员权限. 忘了一点,components.xml 文件中的 P ...

  4. [经验总结]利用xlstproc处理XSLT的makefile

    转自:http://blog.csdn.net/thinkhy/article/details/5343739 # For XSLT PARSE = xsltproc SRC = main.xml S ...

  5. linux shell 参数传递

    在shell编程时.可以使用参数.Shell有位置参数和内部参数 1. 位置参数 由系统提供的参数称为位置参数.位置参数的值可以用$N得到,N是一个数字,如果为1,即$1.类似C语言中的数组,Linu ...

  6. WebService中实现上传下载文件

    不多说,直接看代码: /*上传文件的WebService*/ using System; using System.Collections; using System.Collections.Gene ...

  7. eclipse导入myeclipse的web项目

    1.import> 2.进入项目目录,找到.project文件,打开 3.找到<natures> ...</natures>代码段,添加如下标签内容并保存 <nat ...

  8. Java 开发 gRPC 服务和客户端

    新建一个普通的Maven项目: 配置pom文件,导入gRPC的依赖和插件 pom 中增加外部依赖 <dependency>     <groupId>io.grpc</g ...

  9. html标签属性

    clientWidth = width + paddingclientHeight = height + paddingoffsetWidth = width + padding + borderof ...

  10. TestCase--网站登录模块

    以京东的登录页面为例 测试用例设计如下: 一.功能测试 1. 什么都不输入,点击登录按钮,系统是否给出提示2. 输入正确的用户名和密码,点击登录按钮,验证是否能正确登录3. 输入错误的用户名.正确的密 ...