在JavaScript中使用命名空间,更便于方法的重用和管理。直接贴源码
在模板页MasterPage.master中添加:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<script type="text/javascript">
var dudu= {};
/* siteinfo */
dudu.siteinfo = {domain:'http://www.dudu.com',shortSiteName:'嘟嘟',siteName:'嘟嘟乐园'};
/* userinfo */
dudu.userinfo = {isLogin:true,
name: 小豆豆,
id:121,
mid:doudou,
icon:http://www.dudu.com/s_img_121.jpg,
loginURL:''};
// 全局对象仅仅存在register函数,参数为名称空间全路径,如"Grandsoft.GEA"
dudu.register = function(fullNS)
{
// 将命名空间切成N部分, 比如Grandsoft、GEA 等
var nsArray = fullNS.split('.');
var sEval = "";
var sNS = "";
for (var i = 0; i < nsArray.length; i++)
{
if (i != 0) sNS += ".";
sNS += nsArray[i];
// 依次创建构造命名空间对象(假如不存在的话)的语句
// 比如先创建Grandsoft,然后创建Grandsoft.GEA,依次下去
sEval += "if (typeof(" + sNS + ") == 'undefined') " + sNS + " = new Object();"
}
if (sEval != "") eval(sEval);
}
</script>
var dudu= {};
/* siteinfo */
dudu.siteinfo = {domain:'http://www.dudu.com',shortSiteName:'嘟嘟',siteName:'嘟嘟乐园'};
/* userinfo */
dudu.userinfo = {isLogin:true,
name: 小豆豆,
id:121,
mid:doudou,
icon:http://www.dudu.com/s_img_121.jpg,
loginURL:''};
// 全局对象仅仅存在register函数,参数为名称空间全路径,如"Grandsoft.GEA"
dudu.register = function(fullNS)
{
// 将命名空间切成N部分, 比如Grandsoft、GEA 等
var nsArray = fullNS.split('.');
var sEval = "";
var sNS = "";
for (var i = 0; i < nsArray.length; i++)
{
if (i != 0) sNS += ".";
sNS += nsArray[i];
// 依次创建构造命名空间对象(假如不存在的话)的语句
// 比如先创建Grandsoft,然后创建Grandsoft.GEA,依次下去
sEval += "if (typeof(" + sNS + ") == 'undefined') " + sNS + " = new Object();"
}
if (sEval != "") eval(sEval);
}
</script>
具体的模块:log(日志)
独立封装出一个js文件 命名为dudu.log.js文件
内容如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
//使用命名空间的范例
dudu.register("dudu.log"); //此处注册
dudu.log={ //添加事件
Add: function(){
alert("111");
},
LogRep : {
Add : function(){/*code...*/},
Edit: function(){ alert("222");}
}
}
dudu.register("dudu.log"); //此处注册
dudu.log={ //添加事件
Add: function(){
alert("111");
},
LogRep : {
Add : function(){/*code...*/},
Edit: function(){ alert("222");}
}
}
在log.aspx页面中添加引用(套用MasterPage.master模板页):
调用方法如下:
<input type="button" onclick="dudu.log.add();" />
<input type="button" onclick="dudu.log.LogRep.add();" />
参考:【1】 http://www.cnblogs.com/leafyoung/archive/2006/10/11/526570.html