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


Posted in Javascript onJuly 30, 2009

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

慢慢完善
Javascript 相关文章推荐
基于socket.io和node.js搭建即时通信系统
Jul 30 Javascript
jquery使用remove()方法删除指定class子元素
Mar 26 Javascript
使用JavaScript实现连续滚动字幕效果的方法
Jul 07 Javascript
jQuery表格插件datatables用法详解
Nov 23 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
Oct 25 Javascript
jQuery读取XML文件的方法示例
Feb 03 Javascript
jQuery插件HighCharts绘制简单2D折线图效果示例【附demo源码】
Mar 21 jQuery
详解VUE-地区选择器(V-Distpicker)组件使用心得
May 07 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
Sep 18 Javascript
angular4中引入echarts的方法示例
Jan 29 Javascript
解决vue一个页面中复用同一个echarts组件的问题
Jul 19 Javascript
基于JS实现计算24点算法代码实例解析
Jul 23 Javascript
javascript 处理HTML元素必须避免使用的一种方法
Jul 30 #Javascript
javascript 写的一个简单的timer
Jul 30 #Javascript
jquery imgareaselect 使用利用js与程序结合实现图片剪切
Jul 30 #Javascript
Javascript this指针
Jul 30 #Javascript
javascript 进度条 实现代码
Jul 30 #Javascript
JS input 数字验证代码
Jul 30 #Javascript
关于取不到由location.href提交而来的上级页面地址的解决办法
Jul 30 #Javascript
You might like
一个SQL管理员的web接口
2006/10/09 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
2014/10/01 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
使Ext的Template可以解析二层的json数据的方法
2007/12/22 Javascript
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
javascript判断office版本示例
2014/04/11 Javascript
JQuery中Text方法用法实例分析
2015/05/18 Javascript
JavaScript中的条件判断语句使用详解
2015/06/03 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
简单实现js鼠标跟随效果
2020/08/02 Javascript
vue单页缓存存在的问题及解决方案(小结)
2018/09/25 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
[58:09]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第三场 6.2
2018/06/03 DOTA
Win8下python3.5.1安装教程
2020/07/29 Python
Python----数据预处理代码实例
2019/03/20 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
Python gevent协程切换实现详解
2020/09/14 Python
css3实现垂直下拉动画菜单示例
2014/04/22 HTML / CSS
世界上最好的儿童品牌:AlexandAlexa
2018/01/27 全球购物
美体小铺奥地利官方网站:The Body Shop奥地利
2019/04/11 全球购物
介绍一下Java中的static关键字
2012/05/12 面试题
租房合同协议书
2014/04/09 职场文书
作文批改评语
2014/12/25 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书
太行山上观后感
2015/06/05 职场文书
导游词之西安大清真寺
2019/12/17 职场文书
Python 文本滚动播放器的实现代码
2021/04/25 Python
JS开发前端团队展示控制器来为成员引流
2022/08/14 Javascript