我喜欢的JavaScript编程风格

本文为《编写可维护的JavaScript》读书笔记segmentfault

一、变量数组

  • 变量名遵照驼峰大小写命名法浏览器

  • 命名前缀可为名词,这样可与函数名区分函数

  • 常量利用大写字母和下划线(用来分隔单词)来命名布局

  • 全部变量声明放在函数顶部插件

  • 函数顶部使用单var语句声明变量, 不一样变量之间使用 "," 分隔开code

二、函数对象

  • 先声明函数而后使用函数继承

  • 函数调用写法推荐:事件

    doSomthing(); //在函数名和左括号之间没有空格,与块语句区分开来

  • 当即执行函数

    var value = (function(){...})(); //将函数用一对圆括号包裹起来,加强代码的可读性

三、null

  1. 适用场景:

    • 初始化变量,它可能赋值为一个对象

    • 用来与已经初始化的变量(能够是也能够不是一个对象)比较

    • 当函数的参数指望是对象时,用做参数传入

    • 函数返回值为对象时,用做返回值传出

  2. 不适用场景

    • 不要用null来检测是否传入某个参数

    • 不要用null来检测一个未初始化的变量

四、undefined(被初始化变量的初始值,表示这个变量等待被赋值)

  • 避免使用undefined

  • 变量为声明,可将其赋值为null

五、注释

  1. 注释与语句不在同一行时,注释以前须要空行

  2. 在同一行,注释和代码之间须要空行

  3. 添加注释的原则:

    • 难于理解

    • 代码看上去有错误,实际没有

    • 浏览器特性hack时(例如,原生js绑定事件)

  4. 关于注释,推荐使用插件DocBlockr

六、语句

  1. 不论块语句包含多行代码仍是单行代码,都应当是使用花括号

  2. 块语句包括:

    • if

    • for

    • while

    • do...while

    • try...catch...finally

  3. 块语句间隔风格推荐:

    1. if (condition) {} //在括左圆括号以前和右圆括号以后各添加一个空格

七、case语句的连续执行问题(在switch语句中执行完一个case以后继续执行下一个case):

switch (condition) {
            case "first":
            case "second":
                //代码
                break;
            default:
                //代码
        }
  • case连续执行能够有意为之,可是须要添加注释

八、with:禁止使用

九、for循环注意事项:尽量避免使用continue

十、for-in循环

  • 不只遍历对象的实例属性,并且遍历从原型继承过来的属性

  • 最好使用 hasOwnProperty 来为for-in循环过滤出实例属性

  • 禁止用来遍历数组成员

十一、严格模式

  • 不推荐在全局做用域内使用。若是团队成员文件合并,可能会让团队其余成员的代码报错

  • 推荐函数内部,即布局做用域内使用

十二、相等

  • 两个等号判断相等,容易出现强制类型转换

  • 推荐使用三个等于号用来判断相等

1三、原始包装类型

`var name = new String('Nicholas');`
  • 避免使用

参考资料:《编写可维护的JavaScript》

相关文章
相关标签/搜索