• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
W-XiaoJia
心之所向 素履以往 心如逆旅 一苇以航
博客园    首页    新随笔    联系   管理    订阅  订阅
AMD模块
关于AMD有两个非常重要的概念,那就是用于模块定义的define方法和用于处理依赖加载的require方法。 
define函数定义:
define( [module-name?] /*可选*/, (模块标示)-----如果没有这个属性,则成为匿名函数 [array-of-dependencies?] /*可选*/, (所依赖的模块) [module-factory-or-object] (模块的实现) );
具体实现:
  define(
      "myModule",
      ["foo", "bar"],
 
      // 模块定义函数,依赖(foo,bar)作为参数映射到函数上
      function (foo, bar) {
          // 创建模块
          var myModule = {
              myFun: function () {
                 console.log("Jeri");
             }
         }

         // 返回定义的模块
         return myModule;
     }
 );
require用于加载JavaScript文件或模块的代码,获取依赖。示例如下:
 // foo,bar为外部模块,加载以后的输出作为回调函数的参数传入,以便访问
 requrie(["foo", "bar"], function (foo, bar) {
 
     // 其他代码
     foo.doSomething();
 });
动态加载依赖的示例:
 define(
      function (requrie) {
          var isReady = false,
          foobar;
  
          requrie(["foo", "bar"], function (foo, bar) {
              isReady = true,
              foobar = foo() + bar();
          });
 
        // 返回定义的模块
         return {
             isReady: isReady,
             foobar: foobar
         };
     }
 );

posted on 2017-06-22 22:06  W-XiaoJia  阅读(323)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3