美文网首页
javascript开发规范!

javascript开发规范!

作者: docC2Y | 来源:发表于2016-12-01 11:04 被阅读40次

    文本缩进: 一次缩进两个空格。

    注释编写: 注释是了解代码写法和目的的唯一途径。特别是在写一些看似琐碎的无关紧要的代码时,由于记忆点不深刻,注释就变得尤为重要了。

    变量声明: 总是使用 var 来声明变量。如不指定 var,变量将被隐式地声明为全局变量,这将对变量难以控制。如果没有声明,变量处于什么定义域就变得不清(可以是在Document 或 Window 中,也可以很容易地进入本地定义域)。所以,请总是使用var 来声明变量。

    命名法说明:
    a).命名法说明
    1).camel命名法,形如thisIsAnApple
    2).pascal命名法,形如ThisIsAnApple
    3).下划线命名法,形如this_is_an_apple ·
    4).中划线命名法,形如this-is-an-apple

    根据不同类型的内容,必须严格采用如下的命名法:
    b).变量名:必须使用camel命名法
    c).参数名:必须使用camel命名法
    d).函数名:必须使用camel命名法
    e).方法/属性:必须使用camel命名法
    boolean类型的应当使用is、has等起头,表示其类型;·

    常量使用全部字母大写,单词间下划线分割的命名方式.

    空格说明: 通常运算符 ( = + - * / ) 前后需要添加空格:

    使用带类型判断的比较判断: 总是使用=== 精确的比较操作符,避免在判断的过程中,由 JavaScript 的强制类型转换所造成的困扰。如果你使用== 操作符,那比较的双方必须是同一类型为前提的条件下才会有效。仅当判断 null 或undefined 时,允许使用 == null。

    分号: 总是使用分号,因为隐式的代码嵌套会引发难以察觉的问题。

    不要在循环体中包含函数表达式,事先将函数提取到循环体外。(解释:循环体中的函数表达式,运行过程中会生成循环次数个函数对象。)

    10.字符串: 统一使用单引号(‘),不使用双引号(“)。这在创建 HTML 字符串非常有好处:

    11.用三元操作符分配或返回语句。在比较简单的情况下使用,避免在复杂的情况下使用。没人愿意用10 行三元操作符把自己的脑子绕晕.

    12.使用json: 当需要将数据结构存储成纯文本,或者通过
    Ajax 发送/取回数据结构,尽可能使用 JSON 代替XML。JSON (JavaScript Object Notation) 是一个更简洁有效的数据存储格式,并且不依赖任何语言(and is a language-neutral)。

    13.类型转换
    转换成 string 时,使用 + ''。( num + ‘’; )
    转换成 number 时,通常使用 +。( + str ;)
    转换成 boolean 时,使用 !!。
    string 转换成 number,要转换的字符串结尾包含非数字并期望忽略时,使用parseInt。必须指定进制。
    number 去除小数点,使用 Math.floor / Math.round / Math.ceil,不使用parseInt。

    14.数组

    使用数组字面量[] 创建新数组,除非想要创建的是指定长度的数组。
    遍历数组不使用 for in。(解释:数组对象可能存在数字以外的属性, 这种情况下 for in 不会得到正确结果。)

    15.减少 delete 的使用。(解释:如果没有特别的需求,减少或避免使用delete。delete 的使用会破坏部分JavaScript 引擎的性能优化。)

    16.DOM
    对于单个元素,尽可能使用document.getElementById 获取,避免使用document.all。
    对于多个元素的集合,尽可能使用 context.getElementsByTagName 获取。其中context 可以为 document 或其他元素。指定tagName 参数为 * 可以获得所有子元素。
    遍历元素集合时,尽量缓存集合长度。如需多次操作同一集合,则应将集合转为数组。(解释:原生获取元素集合的结果并不直接引用DOM 元素,而是对索引进行读取,所以 DOM 结构的改变会实时反映到结果中。)
    获取元素的直接子元素时使用 children。避免使用childNodes,除非预期是需要包含文本、注释和属性类型的节点。

    DOM事件
    优先使用 addEventListener / attachEvent 绑定事件,避免直接在HTML 属性中或 DOM 的expando
    属性绑定事件处理。(解释:expando 属性绑定事件容易导致互相覆盖。)
    使用 addEventListener 时第三个参数使用
    false。(解释:标准浏览器中的
    addEventListener 可以通过第三个参数指定两种时间触发模型:冒泡和捕获。而 IE 的attachEvent 仅支持冒泡的事件触发。所以为了保持一致性,通常
    addEventListener 的第三个参数都为 false。)
    在没有事件自动管理的框架支持下,应持有监听器函数的引用,在适当时候(元素释放、页面卸载等)移除添加的监听器。

    相关文章

      网友评论

          本文标题:javascript开发规范!

          本文链接:https://www.haomeiwen.com/subject/tcsxmttx.html