码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScrip学习——规范

时间:2016-06-01 11:33:12      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

参考:

  • 汤姆大叔的博客 : http://www.cnblogs.com/TomXu/archive/2011/12/28/2286877.html  
  •  阮一峰           :http://www.ruanyifeng.com/blog/2012/10/javascript_module.html

JavaScript规范

  1. 为了防止命名冲突尽量少用全局变量
    function sum(x, y) {
       // 不推荐写法: 隐式全局变量,即使想要定义成全局也不要使用这种写法,而应该在全局环境中使用var定义
       result = x + y;
       return result;
    }

     

    function foo() {
       // a是局部变量但b是全局
       var a = b = 0;
    }
  2. 尽量将函数中的变量声明提到函数顶部
    function func() {
       var a = 1,
           b = 2,
           sum = a + b,
           myobject = {},
           i,
           j;
       // function body...
    }
  3. 遍历数组时预先取得数组长度(防止每次循环都要取长度)
    // 次佳的循环
    for (var i = 0; i < myarray.length; i++) {
       // 使用myarray[i]做点什么
    }
    for (var i = 0, max = myarray.length; i < max; i++) {
       // 使用myarray[i]做点什么
    }
  4. 尽量不要扩展js内置的构造函数原型(Object(), Array(), 或Function())
    if (typeof Object.protoype.myMethod !== "function") {
       Object.protoype.myMethod = function () {
          // 如果必要...
       };
    }
  5. 不使用eval()、 with、 for in
  6. 不要给setInterval(), setTimeout()和Function()构造函数传递字符串(等同于使用eval())
    // 反面示例
    setTimeout("myFunc()", 1000);
    setTimeout("myFunc(1, 2, 3)", 1000);
    
    // 更好的
    setTimeout(myFunc, 1000);
    setTimeout(function () {
       myFunc(1, 2, 3);
    }, 1000);
  7. 使用Number()而非parseInt(),使用parseInt()时带上基数
    var month = "06",
        year = "09";
    month = parseInt(month, 10);
    year = parseInt(year, 10);
  8. 使用统一的缩进风格
  9. 尽量不要省略{}
  10. 构造函数首字母大写
  11. 合理使用注释
  12. 使用立即执行(不污染全局、防止私有变量被外部修改)
      var module1 = (function(){
        var _count = 0;
        var m1 = function(){
          //...
        };
        var m2 = function(){
          //...
        };
        return {
          m1 : m1,
          m2 : m2
        };
      })();
  13. //放大模式,用于扩展、继承
    var module1 = (function (mod){
        mod.m3 = function () {
          //...
        };
        return mod;
      })(module1);
     var module1 = ( function (mod){
        //宽放大模式,防止加载到空对象出错
        return mod;
      })(window.module1 || {});

     

 

JavaScrip学习——规范

标签:

原文地址:http://www.cnblogs.com/Workman2015/p/5542876.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!