看过goole  closure 的同学都知道  其中定义一个类名函数时候只要  inlude("")   想加载某个模块只要require("")就可以利用:

下面给出一个例子:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>分模块加载</title>
<style> </style>
</head>
<body>
<script>
//*********定义加载模块方法 start **************//
(function (window, undefined) {
if (window.define) {
return
}
function isFunction(obj) {
return Object.prototype.toString.call(obj) === "[object Function]"
} var MM = {};
var initModuleName = "initRun"; function require(name) {
if (!MM[name]) {
throw new Error("Module " + name + " is not defined.")
}
var module = MM[name];
if (module.inited === false) {
runModule(name)
}
return module.ret
} function runModule(name) {
var exports = {};
var module = MM[name];
if (isFunction(MM[name].factory)) {
var ret = MM[name].factory.apply(undefined, [require, exports, undefined]);
module.ret = ret === undefined ? exports : ret
} else {
module.ret = MM[name].factory
}
module.inited = true
} function define(name, deps, factory) {
if (MM[name]) {
throw new Error("Module " + name + " has been defined already.")
}
if (isFunction(deps)) {
factory = deps
}
MM[name] = {factory:factory, inited:false};
if (name === initModuleName) {
runModule(name)
}
} window.define = define
})(window);
//*********定义加载模块方法 end **************// //下面给一个使用的例子
(function(){
define('View/test',function(require){
var testObj = function(){};
testObj.prototype = {
test : function(){
alert("我是小测试");
}
};
return testObj;
});
//上面定义了当模块为initRun时候启动模块
define('initRun',function(require){
var test = require('View/test') ;
var testObj = new test; testObj.test(); }) })() </script>
</body>
</html>

最新文章

  1. python 数据类型---文件二
  2. Win7 64位 MinGW环境测试SDL2.0.3
  3. C++/MFC如何启动另一个应用程序并获取其进程 ID
  4. C# explicit与implicit
  5. WCF 之 OperationContract
  6. bzoj1072
  7. 函数对象的prototype总结
  8. spring xml配置标签详解
  9. 敏捷冲刺(Beta版本)
  10. WorkStation 虚拟机迁移到 ESXi的后续处理.
  11. 美国运营商推送假5G图标:用户当场蒙圈了
  12. django-xss攻击原理与防范
  13. LAXCUS大数据操作系统节点挂掉后的处理
  14. 【巷子】---Mock---基本使用
  15. Json解析数据的简单使用
  16. python learning Exception &amp; Debug.py
  17. noi题库(noi.openjudge.cn) 1.11编程基础之二分查找T01、02、04
  18. SQL_异化
  19. java Web监听器实现定时发送邮件
  20. 对数损失函数(Logarithmic Loss Function)的原理和 Python 实现

热门文章

  1. .Net Core 自动化部署:使用jenkins部署到linux docker容器运行
  2. mysql安装 卸载 查字符集编码
  3. 初学python - 使用pip安装扩展库
  4. ocp最新考试题库:052新考题及答案整理-36
  5. 百度联盟广告 http://cpro.baidustatic.com/cpro/ui/c.js
  6. “全栈2019”Java第五十七章:多态与构造方法详解
  7. classnofoundexception:org.springframework.ui.freemarker.FreeMarkerConfigurationFactory
  8. 2019 HEOI游记(真-退役记)
  9. (STM32F4) Timer Compare mode 操作
  10. nginx如何设置禁止访问文件或文件夹