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

为了防止发生命名冲突,可以建立自己的代码库。
就想
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);

慢慢完善

您可能感兴趣的文章:

  • jQuery库与其他JS库冲突的解决办法
  • js不完美解决click和dblclick事件冲突问题
  • jquery与js函数冲突的两种解决方法
  • 解决css和js的{}与smarty定界符冲突问题的两种方法
  • js中单引号与双引号冲突问题解决方法
  • 导入extjs、jquery 文件时$使用冲突问题解决方法
  • JQuery的$和其它JS发生冲突的快速解决方法
  • jQuery避免$符和其他JS库冲突的方法对比
  • js函数名与form表单元素同名冲突的问题
  • 实例讲解避免javascript冲突的方法