• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
星际远行客
博客园    首页    新随笔    联系   管理    订阅  订阅
《编写高质量代码:改善JavaScript程序的188个建议》学习小记(二)
  • 建议3:减少全局变量污染

 1.把多个全局变量都追加在一个名称空间下,将显著降低与其他应用程序产生冲突的概率,应用程序也会变得更容易阅读。

var My = {};
My.name = {
    "first-name":"first",
    "last-name":"last"
};
My.work = {
    number:123,
    one:{
        name:"one",
        time:"2017-3-11",
        city:"南京"
    },
    two:{
        name:"two",
        time:"2017-3-12",
        city:"苏州"
    }
};

2.使用闭包体将信息隐藏

var foo = function(){
        var a = 1,
            b = 2;
        var bar = function(){
            var b = 3,
                c = 4;
            a += b+c;
        };
        bar();
    };

 

  • 建议4:注意JavaScript数据类型的特殊性

1.防止浮点数溢出

num = 0.1+0.2;//0.30000000000000004

 

a = (1+2)/10;//0.3

 

2.正确检测数据类型

//安全检测JavaScript基本数据类型和内置对象
//参数:o表示检测的值
/*返回值:返回字符串"undefined","number","boolean","string","function","regexp","array","date","error"*/
function typeOf(o){
    var toString = Object.prototype.toString;
    //获取对象的toString()方法引用
    //列举基本数据类型和内置对象类型,可以进一步补充该数组的检测数据类型范围
    var type = {
        "undefined":"undefined",
        "number":"number",
        "boolean":"boolean",
        "string":"string",
        "[object Function]":"function",
        "[object RegExp]":"regexp",
        "[object Array]":"array",
        "[object Date]":"date",
        "[object Error]":"error"
    };
    return type[typeof o]|| type[ toString.call(o)]||(o?"object":"null");
}

 

posted on 2017-03-11 15:34  星际远行客  阅读(340)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3