首页 > 开发 > JS > 正文

JS学习笔记:防止发生命名冲突

2024-09-06 12:40:58
字体:
来源:转载
供稿:网友

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

就想

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);

慢慢完善

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表