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 相关文章推荐
防止页面被iframe(兼容IE,Firefox火狐)
Jul 04 Javascript
js 有框架页面跳转(target)三种情况下的应用
Apr 09 Javascript
浅析return false的正确使用
Nov 04 Javascript
jQuery简单创建节点的方法
Sep 09 Javascript
炫酷的js手风琴效果
Oct 13 Javascript
Angular-Touch库用法示例
Dec 22 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
Oct 28 jQuery
详解webpack-dev-server 设置反向代理解决跨域问题
Apr 18 Javascript
vue实现简单的MVVM框架
Aug 05 Javascript
React父子组件间的传值的方法
Nov 13 Javascript
细说webpack6 Babel的使用详解
Sep 26 Javascript
JavaScript前端面试组合函数
Jun 21 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
全国FM电台频率大全 - 16 河南省
2020/03/11 无线电
150kHz到30Mhz完全冲浪手册
2020/03/20 无线电
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
PHP大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
Laravel学习教程之request validation的编写
2017/10/25 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
JavaScript入门教程(5) js Screen屏幕对象
2009/01/31 Javascript
jquery ajax同步异步的执行最终解决方案
2013/04/26 Javascript
js向上无缝滚动,网站公告效果 具体代码
2013/11/18 Javascript
使用JQ来编写最基本的淡入淡出效果附演示动画
2014/10/31 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
微信小程序自定义底部弹出框
2020/11/16 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
apache部署python程序出现503错误的解决方法
2017/07/24 Python
Python+树莓派+YOLO打造一款人工智能照相机
2018/01/02 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
pycham查看程序执行的时间方法
2018/11/29 Python
python实现随机漫步方法和原理
2019/06/10 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
Python多线程及其基本使用方法实例分析
2019/10/29 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
2020/11/15 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
实习单位推荐信范文
2013/11/27 职场文书
上课睡觉检讨书
2014/01/28 职场文书
小学端午节活动方案
2014/03/13 职场文书
教育英语专业毕业生的求职信
2014/03/13 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
颂军魂爱军营演讲稿
2014/09/13 职场文书
环保证明
2015/06/23 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python
python 利用PyAutoGUI快速构建自动化操作脚本
2021/05/31 Python
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis
MySQL索引失效十种场景与优化方案
2023/05/08 MySQL