您的位置:首页 > Web前端 > JavaScript

js模拟引入命名空间

2015-08-11 14:47 666 查看
<!DOCTYPE html>

<html>
<head>
<meta charset='utf-8'/>
<title>模拟引入命名空间</title>
</head>
<body>
<script>

(function(){
//模拟引入命名空间的方法
using = function(namespace){
var arr = namespace.split(".");
var len = arr.length;
var runJS = "";
for(var i=0; i<len; i++){
if(i >= 1){
runJS += ".";
}
runJS += arr[i];
eval("if(typeof(" + runJS + ") === 'undefined'){" + runJS + " = function(){}}");//运行js代码, 实现变量初始化
}
}

using("MyLib.Message");//生成 全局变量 MyLib 和 MyLib.Message, 初始值为 function (){}
MyLib.prototype.Alert = MyLib.Alert = function(val){
alert(val);
}
MyLib.Message.prototype.Alert = MyLib.Message.Alert = function(val){
alert(val);
}
})();

var m = new MyLib();
m.Alert("需要实例化1");
MyLib.Alert("静态方法1");

var mm = new MyLib.Message();
mm.Alert("需要实例化2");
MyLib.Message.Alert("静态方法2");

// using("EasyLib");//库
// using("EasyLib.Cookies");//cookies模块
// using("EasyLib.Url");//url模块
// using("EasyLib.Reg");//正则模块
// using("EasyLib.Date");//日期模块
// using("EasyLib.Str");//字符模块
// using("EasyLib.Ctl");//自定义控件模块
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: