js设计模式之Module模式(一)
来源:互联网 发布:外贸出口数据从何而来 编辑:程序博客网 时间:2024/06/08 14:32
Module模式简单来说就是封装了混混和公有/私有方法和变量的方式,防止其泄露到全局作用域,只有其开发出现bug。
但是由于js本身没有别的语言的public以及private来进行修饰,所以其就需要js函数的作用域来进行模拟。
接下来我们来进行一个简单的例子!
var testModule = (
function (){
var counter = 0;
return {
incrementCounter:function(){
return ++counter;
},
resetCounter:function(){
console.log(" counter vakue prior to reset: " + counter);
counter=0;
}
};
)();
testModule.incrementCounter();
testModule.resetCounter();
这是一个简单的module模式的使用,下面我们来定义一个命名空间,公有和私有变量的module模式
var myNamespace=(
function(){
//私有的计数器变量
var myPrivateVar = 0;
//记录所有参数的私有函数
var myPrivateMethod= function(foo){
console.log(foo);
};
return {
//公有的变量
myPublicVar:"foo",
//调用私有变量和方法的公有函数
myPublicFunction:function(bar){
myPrivateVar++;
myPrivateMethod(bar);
}
};
}
)();
以上我们私有的函数以及变量都指存在函数内所以外部访问不到,我们只有通能通过暴露出来的公有的函数以及接口才可以对访问其函数内部的作用域以及方法
注意:参考书籍《javascript设计模式》
- js设计模式之Module模式(一)
- JavaScript设计模式之Module(模块)模式
- javascript设计模式之Module模块
- js模块模式(module)
- JS设计模式(一)
- JS设计模式一:单例模式
- JS设计模式一:单例模式
- ⑨设计模式之模板模式(Template Module)
- JS原型设计模式(四)之缺陷(一)
- JS设计模式之组合模式
- JS设计模式之门面模式
- JS设计模式之适配器模式
- JS设计模式之装饰者模式
- JS设计模式之享元模式
- JS设计模式之代理模式
- JS 设计模式之 单例模式
- js设计模式之装饰模式
- js设计模式之迭代器模式
- Javaoop第五章快速击键系统
- laravel如何输出最后一条执行的SQL
- 什么是“滑动窗口"协议?
- 关于在xml文件里面为Button设置监听事件报错。
- node 安装gulp后,不是内部或外部命令
- js设计模式之Module模式(一)
- OpenCV中Mat的基本用法
- CentOS 安装MYSQL
- linux openssl 编程 Server端
- ASCII码128-255扩展编码显示奇葩中文的原因
- Windows 你不可不知的几种截图方式
- Java编码问题汇总
- 更新Android Studio遇到的问题
- spring 工具类注入Service方法