Node.js 编码规范

JavaScript 作为一门编程语言,在语法上可谓是最为灵活的语言了。尽管现在JavaScript规范已经相当成熟,利用JSlist能够解决大部分问题,但是随着现在Node的流行,带来了一些新的变化,这些是需要我们注意的。

编码规范(摘自深入浅出node.js)
1.1 空格与格式

 1. 缩进:采用两个空格缩进,而不是tab缩进

 2. 变量声明:永远用 var 声明变量,不加 var 时会将其变成全局变量,这样可能会意外污染上下文,或是被意外污染。在ES5的strict模式下,未声明的变量将会直接抛出 ReferenceError 异常

 3. 空格:在操作符前后需要加空格,比如+、-、*、% 、= 等操作符前后都应该存在一个空格

 4. 单双引号的使用:由于双引号在别的场景下使用较多,

   在Node中使用字符串是尽量使用单引号,这样无需转义  如:var html = '<a href="http://cnodejs.org">CNode</a>' 

   在Json中,严格的规范是要求字符串用双引号,内容中出现双引号时,需要转义

 5. 大括号的位置:一般大括号无需另起一行

    示例:if (true) {

                ......    

            }

 6. 逗号:逗号用于变量声明的分割或是元素的分割。如果都好不在行结尾,后面需要一个空格。此外,逗号不允许出现在行首

 7. 分号:给表达式结尾加上分号。尽管JavaScript编译器会自动给行尾加分号,但还是会带来一些误解,所以添加上分号有助于避免误会

1.2 命名规范

  1. 变量命名:变量命名都采用小驼峰式命名,即除了第一个字母不大写外,每个单词的首字母都大写,词与词之间没有任何符

    号,如:

        var adminUser = {};

  2. 方法命名:方法命名与变量命名一样,采用小驼峰式命名。与变量不同的是,方法名尽量采用动词或判断性词汇,如:

        var getUser = function () {};

  3. 类命名:类名采用大驼峰式命名,即所有单词的首字母都大写,如,

        function User {}

  4. 常量命名:作为常量时,单词的所有字母都大写,并用下划线分割,如:

         var User_Name = "xp";

  5. 文件命名:命名文件时,请尽量采用下划线分割单词,比如 child_details.js

  6. 包名:也许你有贡献模块并将其打包发布到NPM上。在包名中,尽量不要包含js 或 node 的字样,它是重复的。包名应适

     当短且有意义

1.3 比较操作

       在比较操作中,如果是无容忍的场景,请尽量使用 === 代替 ==,否则你会遇到下面这样不符合逻辑的结果

                '0' == 0;      //true

                ''   == 0      //true

                '0' === ''   //false

1.4 字面量

        请尽量使用{ }、[] 代替 new Object()、new Array(),不要使用 string、bool、number 对象类型,即不要调用 

new String、new Boolean 和 new Number

1.5 作用域

        在JavaScript中,需要注意一个关键字和一个方法,他们是with 和 eval(),容易引起作用域混乱。

       1. 慎用 with 

            示例

                    with (obj) {

                            foo = bar;

                        }

               它的结果有可能是如下四种之一 :

                    obj.foo = obj.bar;      obj.foo = bar;        foo=bar;        foo = obj.bar;

               这些结果取决于它的作用域。如果作用域链上没有导致冲突的变量存在,使用它则是安全的。但在多人合作的项目中,这并不容易保证,所以要慎用 with。

        2. 慎用 eval()

            慎用eval() 的原因与with相同。如果不影响作用域上已存在的变量,用它是安全的

        本文章会不断持续更新,欢迎小伙伴们留言讨论,如有不足之处,请大家多指教,不胜感激

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值