JavaScrip模块化模式写法
2015-07-03 18:23
537 查看
//Module 模式 闭包自包含模块 var testModule = (function(){ var counter = 0; return { incrementCounter: function(){ return ++counter; }, resetCounter: function(){ console.log("counter value prior to reset: " + counter); counter = 0; } }; })(); testModule.incrementCounter(); testModule.incrementCounter(); testModule.resetCounter(); //包含命名空间、共有和私有变量的Module模式 var myNamespace = (function(){ var myPrivateVar = 0; var myPrivateMehod = function(foo){ console.log(foo); }; return { myPublicVar: "foo", myPublicFunction: function(bar){ myPrivateVar++; myPrivateMehod(bar); } } })(); myNamespace.myPublicFunction('hello world!'); //用模块化思想实现购物车 var basketModule = (function(){ //私有 var basket = []; function doSomethingPrivate(){ console.log("doSomethingPrivate run"); } function doSomethingElsePrivate(){ console.log("doSomethingElsePrivate run"); } //返回暴露的共有对象 return { addItem: function(values){ basket.push(values); }, getItemCount: function(){ return basket.length; }, doSomething: doSomethingPrivate, getTotal: function(){ var itemCount = this.getItemCount(); total = 0; while(itemCount--){ total+= basket[itemCount].price; } return total; }, } })(); basketModule.addItem({ item: "bread", price: 0.5 }); basketModule.addItem({ item: "dss", price: 0.5 }); console.log(basketModule.getItemCount()); console.log(basketModule.getTotal());
相关文章推荐
- eclipse部署web项目
- Android studio导入eclipse项目且不改变目录结构
- java中多线程下载
- 在Java中定义常量(Constant) ,简化代码
- Java基础编程:反射工具类
- 深入理解Java的接口和抽象类
- Java - What is Abstraction in Java
- java中重载与重写的区别
- JAVA实现图片裁剪
- JAVA对象属性复制
- 搭建和配置Spring与jdbc整合的环境
- Java NumberFormat 类
- Android Studio vs. Eclipse: What You Need To Know
- eclipse安装maven插件
- [转] Java快速教程
- Spring MVC 3.0 深入及对注解的详细讲解
- Oauth2.0 用Spring-security-oauth2 非常简单
- Spring Security 与 Oauth2 整合 步骤
- java垃圾回收机制(二)
- Java - What is Static and Dynamic binding