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>
相关文章推荐
- JS学习30:对象简单、深度克隆(复制、Clone)
- 理解 JavaScript 中的 Function.prototype.bind
- (转)Javascript模块化编程(二):AMD规范
- js监听输入框值的即时变化onpropertychange、oninput、onchange
- 新手误区【Java与Javascript的关系】
- javaScript的运算符和if。。else语句
- backbonejs快速入门(六)-模型model
- Extjs列过滤
- $.getJSON()获取不到返回的值
- 第二章 在HTML中使用JavaScript
- 图解Javascript上下文与作用域
- fastJson和Gson的比较
- 从Action中传值到JSP页面的方法
- 第一章 JavaScript简介
- JavaScript学习笔记——节点
- backbone.js快速入门(四)
- js判断手机是的操作系统
- 【JS】js获得下拉列表选中项的值和id
- JavaScript设置表单上传时文件个数的方法
- js限制文本框只能输入中文的方法