大型JavaScript应用程序架构模式(5)

来源:未知 责任编辑:责任编辑 发表时间:2013-11-15 19:50 点击:

  }

 }

}());

 

 

同时注意,我们return的对象直接赋值给了basketModule,所以我们可以像下面一样使用:

 

//basketModule is an object with properties which can also be methods

basketModule.addItem({item:'bread',price:0.5});

basketModule.addItem({item:'butter',price:0.3});

 

console.log(basketModule.getItemCount());

console.log(basketModule.getTotal());

 

//however, the following will not work:

console.log(basketModule.basket);// (undefined as not inside the returned object)

console.log(basket); //(only exists within the scope of the closure)

 

 

那在各个流行的类库(如Dojo, jQuery)里是如何来做呢?

 

Dojo

 

Dojo试图使用dojo.declare来提供class风格的声明方式,我们可以利用它来实现Module模式,例如如果你想再store命名空间下声明basket对象,那么可以这么做:

 

    //traditional way

    var store = window.store || {};

    store.basket = store.basket || {};

    

    //using dojo.setObject

    dojo.setObject("store.basket.object", (function() {

      var basket = [];

      function privateMethod() {

        console.log(basket);

      }

      return {

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Gb2312转utf-8编码的方法(vbs+js)
  • 如何使用Ajax技术开发Web应用程序(1)
  • js跳转路径问题
  • JavaScript模仿桌面窗口
  • 用js检测两个线段是否相交
  • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
  • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
  • 我是如何去了解jquery的(六),案例之幻灯片轮换
  • Jquery封装幻灯片效果
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1