当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JS 学习笔记 防止发生命名冲突

Javascript
IE中直接运行显示当前网页中的图片 推荐
广告显示判断
srcElement表格样式
免费空间广告万能消除代码
[原创]手机号码本地检测
JS实现浏览器菜单命令
JS代码混淆初步
经验几则 推荐
MSN消息提示类
正宗的日历(含农历)
农历与西历对照
在网页中屏蔽快捷键
简单获取键盘的KeyCode
音乐播放用的的几个函数
你的编程语言可以这样做吗?
如何遍历对象的属性?
自动关闭的层
prototype 的说明 js类
js脚本学习 比较实用的基础
日期函数扩展类Ver0.1.1

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 165 ::
收藏到网摘: n/a

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

慢慢完善