为了防止发生命名冲突,可以建立自己的代码库。

就想

Js代码

ziggy_js=function(){}  
ziggy_js.ui=function(){}  
ziggy_js.ui.alerts=function(){}  
ziggy_js.ui.alerts.showErrorAlert=function(){  
    alert("An error occurred");  
}  
ziggy_js.ui.alerts.showErrorAlert();  
//以在其中定义类  
ziggy_js.ui.alerts.messageDisplayer=function(inMsg){  
    this.msg=inMsg;  
    this.toString=function(){  
        return "msg="+this.msg;  
    }  
}  
var v=new ziggy_js.ui.alerts.messageDisplayer("hello");  
alert(v); 
    ziggy_js=function(){}
    ziggy_js.ui=function(){}
    ziggy_js.ui.alerts=function(){}
    ziggy_js.ui.alerts.showErrorAlert=function(){
        alert("An error occurred");
    }
    ziggy_js.ui.alerts.showErrorAlert();
//也可以在其中定义类
    ziggy_js.ui.alerts.messageDisplayer=function(inMsg){
        this.msg=inMsg;
        this.toString=function(){
            return "msg="+this.msg;
        }
    }
    var v=new ziggy_js.ui.alerts.messageDisplayer("hello");
    alert(v);

这样就建立了属于自己的代码库。当然在创建还要做些工作,在页面中也可直接导入

就想java里的包一样

首先要判断一下ziggy有没有已经被人用了

Js代码

//在ziggy_js.string.js中写  
    if(typeof ziggy_js=='undefined'){  
       ziggy_js=function(){};   
    }  
    ziggy_js.string=function(){}  
    ziggy_js.string.test=function(inMsg){  
        alert(inMsg);  
    }  
//在页面中可以导入  
    <script src="ziggy_js.string.js"></script>

//在ziggy_js.string.js中写
    if(typeof ziggy_js=='undefined'){
       ziggy_js=function(){};
    }
    ziggy_js.string=function(){}
    ziggy_js.string.test=function(inMsg){
        alert(inMsg);
    }
//在页面中可以导入
    <script src="ziggy_js.string.js"></script>

创建处理数组的包ziggy_js.array

Js代码

ziggy_js.array=function(){}  
   //copy一个数组  
    ziggy_js.array.copyArray=function(inSrcArray,inDestArray){  
        var i;  
        for(i=0;i<inSrcArray.length;i++){  
            inDestArray.push(inSrcArrsy[i]);  
        }  
        return inDestArray;  
    }//end copyArray  
    ziggy_js.array.findInArray=function(inArray,inValue){  
        var i;  
        for(i=0;i<inArray.length;i++){  
            if(inArray[i]==inValue){  
                return i;  
            }  
        }  
        return -1;  
    }//end findInArray  
..... 
   ziggy_js.array=function(){}
   //copy一个数组
    ziggy_js.array.copyArray=function(inSrcArray,inDestArray){
        var i;
        for(i=0;i<inSrcArray.length;i++){
            inDestArray.push(inSrcArrsy[i]);
        }
        return inDestArray;
    }//end copyArray
    ziggy_js.array.findInArray=function(inArray,inValue){
        var i;
        for(i=0;i<inArray.length;i++){
            if(inArray[i]==inValue){
                return i;
            }
        }
        return -1;
    }//end findInArray
.....

创建ziggy_js.browser的获得浏览器信息

Js代码

ziggy_js.browser=function(){}  
ziggy_js.browser.getBrowserIdentity=function(){  
    return navigator.appName+" "+navigator.appVersion;  
}//end getBrowserIdentity  
var brow=ziggy_js.browser.getBrowserIdentity();  
alert(brow); 
    ziggy_js.browser=function(){}
    ziggy_js.browser.getBrowserIdentity=function(){
        return navigator.appName+" "+navigator.appVersion;
    }//end getBrowserIdentity
    var brow=ziggy_js.browser.getBrowserIdentity();
    alert(brow);

处理时间的包。

Js代码

ziggy_js.dateTime=function(){}  
ziggy_js.dateTime.isLeapYear=function(inYear){  
    if((inYear%4==0&&inYear%100!=0)||inYear%400==0){  
        return true;  
    }else{  
        return false;  
    }  
}//end isLeapYear  
ziggy_js.dateTime.getNumberDaysInMonth=function(inMonth,inYear){  
    inMonth=inMonth-1;  
    var leap_year=this.isLeapYear(inYear);  
    if(leap_year){  
        leap_year=1;  
    }else{  
        leap_year=0;  
    }  
    if(inMonth==3||inMonth==5||inMonth==8||inMonth==10){  
        return 30;  
    }else if(inMonth==1){  
        return 28+leap_year;  
    }else{  
        return 31;  
    }  
}//end getNumberDaysInMonth  
var days=ziggy_js.dateTime.getNumberDaysInMonth(2,2007);  
alert(days); 
    ziggy_js.dateTime=function(){}
    ziggy_js.dateTime.isLeapYear=function(inYear){
        if((inYear%4==0&&inYear%100!=0)||inYear%400==0){
            return true;
        }else{
            return false;
        }
    }//end isLeapYear
    ziggy_js.dateTime.getNumberDaysInMonth=function(inMonth,inYear){
        inMonth=inMonth-1;
        var leap_year=this.isLeapYear(inYear);
        if(leap_year){
            leap_year=1;
        }else{
            leap_year=0;
        }
        if(inMonth==3||inMonth==5||inMonth==8||inMonth==10){
            return 30;
        }else if(inMonth==1){
            return 28+leap_year;
        }else{
            return 31;
        }
    }//end getNumberDaysInMonth
    var days=ziggy_js.dateTime.getNumberDaysInMonth(2,2007);
    alert(days);

转载于:https://www.cnblogs.com/qqflying/archive/2010/10/27/1862256.html

JS学习笔记:防止发生命名冲突相关推荐

  1. sizzle.js学习笔记利用闭包模拟实现数据结构:字典(Map)

    sizzle.js学习笔记利用闭包模拟实现数据结构:字典(Map) 这几天学习和查看了jQuery和Property这两个很流行的前端库的御用选择器组件Sizzle.js的源代码,收获还是相对多的!之 ...

  2. ArcGIS JS 学习笔记4 实现地图联动

    原文:ArcGIS JS 学习笔记4 实现地图联动 1.开篇 守望屁股实在太好玩了,所以最近有点懒,这次就先写个简单的来凑一下数.这次我的模仿目标是天地图的地图联动. 天地的地图联动不仅地图有联动,而 ...

  3. Vue.js 学习笔记 八 v-for

    v-for指令,是用来循环的,常用的情况有以下4种 <div id="divApp"><!--迭代数字--><p v-for="n in 5 ...

  4. JS学习笔记(五)函数类型、箭头函数、arguments参数、标签函数

    JS学习笔记(五) 本系列更多文章,可以查看专栏 JS学习笔记 文章目录 JS学习笔记(五) 一.函数 1. 函数定义 2. 方法( 对象 + 函数 ) 二.函数参数及返回值 1. 传递原始类型参数 ...

  5. Vue.js学习笔记 2022 04 17

    Vue.js学习笔记 1 Vue.js基础 Vue.js介绍 vuejs 渐进式 JavaScript 框架 Vue.js 如何应用 1 在普通html项目中,引入VUE.JS Hb 的项目 生成的 ...

  6. js学习笔记82——操作内联样式

    js学习笔记82--操作内联样式 通过js修改元素的样式 查参考手册 内联样式 读取元素的样式 看如下代码 <!DOCTYPE html> <html lang="en&q ...

  7. 千锋Node.js学习笔记

    千锋Node.js学习笔记 文章目录 千锋Node.js学习笔记 写在前面 1. 认识Node.js 2. NVM 3. NPM 4. NRM 5. NPX 6. 模块/包与CommonJS 7. 常 ...

  8. 遇见 vue.js --------阿文的vue.js学习笔记(4)------模板语法

    ** 新学习新征程,我们一起踏上学习 vue.js的新长征 遇见 vue.js --------阿文的vue.js学习笔记(1)-----初识vue.js 遇见 vue.js --------阿文的v ...

  9. backbone.js学习笔记

    backbone.js学习笔记 之前只接触过jQuery,看来Backbone是除了jQuery的第二大JS框架... backbone到底是个啥? 其实刚开始我也不知道=_=,我是这周二才听说居然还 ...

最新文章

  1. 安全应用与管理 中国安防下一个十年
  2. str python3_python3 str(字符串)
  3. (转载)Linux OOM Killer个人总结
  4. 干货丨深度迁移学习方法的基本思路(文末送书)
  5. bootstrap----表格
  6. CS229 6.18 CNN 的反向传导算法
  7. 网站如何和服务器匹配,匹配服务器
  8. 元宇宙是个啥?送4本科普好书
  9. hadoop hdfs空间满后重新启动不了
  10. 高中信息技术——GoldWave音频处理刷题点整理
  11. 宏基ACER E1-471G拆机心得及注意事项
  12. 球面投影全景图快速拼接
  13. spring容器的refresh方法分析
  14. 移动端架构师学习路线
  15. 有没有什么赚钱的副业?分享,适合学生赚钱的30个副业!
  16. 小米9/9 SE于3月19日开放购买!雷军:螺丝刀已备好,百万出货
  17. CorelDRAW苹果水晶球详细制作
  18. java工作中最有成就感的事_工作中最有成就感的事
  19. NTP 时区+时间同步
  20. 根据 Excel 数据表的内容和 Word 模板文件,批量生成 Word 文档

热门文章

  1. 怎么把图片存入mysql_如何把图片存储到mysql数据库中
  2. 直播预告丨企服企业如何科学搭建规模化获客体系?
  3. bzoj4383(拓扑排序)
  4. so加载报错:dlopen failed: couldn't map ... Permission denied
  5. 使用xmake优雅地描述工程
  6. [javaSE] 多线程(守护线程)
  7. Bzoj 2453: 维护队列 Bzoj 2120: 数颜色 分块,bitset
  8. Android使用开源项目Xutils实现多线程下载文件
  9. 自己动手制作(DIY)一个Mini-Linux系统
  10. heartbeat自带的断网切换功能-ipfail