JavaScript编程规范
最近看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编程规范的更多相关文章
- Dojo Javascript 编程规范(转)
前言 相当不错的 Javascript 编程风格规范,建议大家采用此规范编写 Javascript.原文链接: http://dojotoolkit.org/developer/StyleGuide ...
- 【JavaScript 开发规范】
Javascript 最佳实践http://sofish.de/1171http://sofish.de/1181 总是使用 ‘var’ √ 特性检测而非浏览器检测 √ 使用方括号记法 √ 使用&qu ...
- javascript模块化编程规范
一.javascript模块化编程规范: 二.关于commenjs规范和AMD规范: 根本不同:前者用于服务器端同步加载模块:后者是客户端异步加载模块. 同点:两者都有一个全局函数require(), ...
- Javascript模块化编程-规范[2]
实现Javascript模块化,固然很重要,但是怎样才能实现国际上都能认可的模块化呢?模块化编程规范随应运而生. 目前Javascript模块化规范主要有两种:CommonJS和AMD. Common ...
- 《编写可维护的JavaScript》——JavaScript编码规范(六)
变量.函数和运算符 在讨论过基本的JavaScript书写格式化之后,接下来关注如何使用函数.变量和运算符来减少复杂度和增强可读性就显得十分重要了. 变量声明 变量声明是通过var语句来完成的.var ...
- 《编写可维护的JavaScript》——JavaScript编码规范(五)
语句和表达式 在JavaScript中,诸如if和for之类的语句有两种写法,使用花括号的多行代码或者不使用花括号的单行代码.比如: //不好的写法,尽管这是合法的JavaScript代码 if (c ...
- 《编写可维护的JavaScript》——JavaScript编码规范(一)
缩进层级 代码如何缩进通常有两种主张: 使用制表符缩进 每一个缩进层级都用单独的制表符表示.这种方法的主要缺点是:系统对制表符的解释不一致.这些差异会导致不同的开发者对同一段代码有不同的看法的,这正是 ...
- 异步编程之Javascript Promises 规范介绍
什么是 Promises Promises是一种关于异步编程的规范,目的是将异步处理对象和处理规则进行规范化,为异步编程提供统一接口. 传统的回调函数 说到JavaScript的异步编程处理,通常我们 ...
- Javascript编程风格
Douglas Crockford是Javascript权威,Json格式就是他的发明. 去年11月他有一个演讲(Youtube),谈到了好的Javascript编程风格是什么.我非常推荐这个演讲,它 ...
随机推荐
- Home键状态保存运用场景
当我们在一个Activity中有接收Intent过来的值,或者当前Activity有保存数据时候,如果此时不小心按到了Home键,然后没有及时回来而是运行了其它应用程序,当你想起来的时候,恐怕已经是几 ...
- Python应用02 Python服务器进化
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! **注意,在Python 3.x中,BaseHTTPServer, SimpleH ...
- 把Nginx加为系统服务(service nginx start/stop/restart)
1.编写脚本,名为nginx #!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - ...
- [ActionScript] AS3解决html与flash鼠标滚轮冲突的问题
JS端: <script type="text/javascript"> <!-- var winWidth = 0; var winHeight = 0; va ...
- java GUI之事件处理
常见事件及相应事件源类型 事件源 用户操作 事件 JButton 点击按钮 ActionEvent JTextField 在文本域按回车键 ActionEvent JCheckBox 点击复选框 Ac ...
- Delphi ServerSocket,ClientSocket示例
Delphi ServerSocket,ClientSocket示例 2008-05-09 16:20 Delphi TServerSocket,TClientSocket实现传送文件代码 1.建立两 ...
- centos 下安装.net core
先要安装libunwind, libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,32位操作系统不要安装.其中包括用于输出堆栈跟踪的API.用于以编程方式辗转开解堆栈的 ...
- jQuery基础---filter()和find()
这是jQuery里常用的2个方法.他们2者功能是完全不同的,而初学者往往会被误导. 首先 我们看.find()方法:现在有一个页面,里面HTML代码为;程序代码 <div class=" ...
- 向Page对象注册脚本
在madn上ClientScriptManager 类的示例: <%@ Page Language="C#"%> <!DOCTYPE html PUBLIC &q ...
- git从入门到精通
1.git简介 由Linus在2005年花了两周时间完成,也就是开发Linux系统的大神研制. git特点: 自由和开放源码 隐形备份 安全 不需要强大的硬件 更简单的分支 对文件操作容易 2.文件操 ...