我们通过单体模式理解了是以对象字面量的方式来创建单体模式的;比如如下的对象字面量的方式代码如下:
var singleMode = {
name: value,
method: function(){
}
};
模块模式的思路是为单体模式添加私有变量和私有方法能够减少全局变量的使用;如下就是一个模块模式的代码结构:
var singleMode = (function(){
// 创建私有变量
var privateNum = 112;
// 创建私有函数
function privateFunc(){
// 实现自己的业务逻辑代码
}
// 返回一个对象包含公有方法和属性
return {
publicMethod1: publicMethod1,
publicMethod2: publicMethod1
};
})();
模块模式使用了一个返回对象的匿名函数。在这个匿名函数内部,先定义了私有变量和函数,供内部函数使用,然后将一个对象字面量作为函数的值返回,返回的对象字面量中只包含可以公开的属性和方法。这样的话,可以提供外部使用该方法;由于该返回对象中的公有方法是在匿名函数内部定义的,因此它可以访问内部的私有变量和函数。
我们什么时候使用模块模式?
如果我们必须创建一个对象并以某些数据进行初始化,同时还要公开一些能够访问这些私有数据的方法,那么我们这个时候就可以使用模块模式了。
理解增强的模块模式
增强的模块模式的使用场合是:适合那些单列必须是某种类型的实例,同时还必须添加某些属性或方法对其加以增强的情况。比如如下代码:
function CustomType() {
this.name = "tugenhua";
};
CustomType.prototype.getName = function(){
return this.name;
}
var application = (function(){
// 定义私有
var privateA = "aa";
// 定义私有函数
function A(){};
// 实例化一个对象后,返回该实例,然后为该实例增加一些公有属性和方法
var object = new CustomType();
// 添加公有属性
object.A = "aa";
// 添加公有方法
object.B = function(){
return privateA;
}
// 返回该对象
return object;
})();
下面我们来打印下application该对象;如下:
console.log(application);
继续打印该公有属性和方法如下:
console.log(application.A);// aa console.log(application.B()); // aa console.log(application.name); // tugenhua console.log(application.getName());// tugenhua
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js
# 设计模式
# 模块模式
# Javascript模块模式分析
# Javascript的一种模块模式
# 深入理解JavaScript中的块级作用域、私有变量与模块模式
# JavaScript 设计模式 安全沙箱模式
# javascript 模式设计之工厂模式学习心得
# JavaScript设计模式之观察者模式(发布者-订阅者模式)
# JavaScript 设计模式之组合模式解析
# javascript设计模式之解释器模式详解
# 常用的Javascript设计模式小结
# JavaScript设计模式之工厂方法模式介绍
# JavaScript设计模式之单例模式实例
# JavaScript模块模式实例详解
# 自己的
# 是在
# 在这个
# 什么时候
# 对其
# 这个时候
# 它可以
# 并以
# 我们必须
# 还必须
# 创建一个
# 大家多多
# 就可以
# 为该
# 方法如下
# 这样的话
# 象中
# 全局变量
# 使用了
# return
相关文章:
佛山企业网站制作公司有哪些,沟通100网上服务官网?
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
如何通过IIS搭建网站并配置访问权限?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
如何挑选优质建站一级代理提升网站排名?
免费网站制作appp,免费制作app哪个平台好?
建站之星在线客服如何快速接入解答?
广德云建站网站建设方案与建站流程优化指南
如何选择高性价比服务器搭建个人网站?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
建站之星如何配置系统实现高效建站?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
如何在云主机快速搭建网站站点?
如何在Windows服务器上快速搭建网站?
广州美橙建站如何快速搭建多端合一网站?
如何在IIS中新建站点并解决端口绑定冲突?
如何在Golang中指定模块版本_使用go.mod控制版本号
如何通过VPS建站实现广告与增值服务盈利?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
建站之星图片链接生成指南:自助建站与智能设计教程
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
独立制作一个网站多少钱,建立网站需要花多少钱?
建站之星logo尺寸如何设置最合适?
网站按钮制作软件,如何实现网页中按钮的自动点击?
高性价比服务器租赁——企业级配置与24小时运维服务
建站之星如何防范黑客攻击与数据泄露?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
教学论文网站制作软件有哪些,写论文用什么软件
?
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
如何在万网主机上快速搭建网站?
宁波自助建站系统如何快速打造专业企业网站?
建站之星安装后如何配置SEO及设计样式?
如何在IIS中新建站点并配置端口与IP地址?
如何制作一个表白网站视频,关于勇敢表白的小标题?
建站主机默认首页配置指南:核心功能与访问路径优化
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
制作营销网站公司,淘特是干什么用的?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
如何批量查询域名的建站时间记录?
建站之星安装模板失败:服务器环境不兼容?
建站主机系统SEO优化与智能配置核心关键词操作指南
如何在云服务器上快速搭建个人网站?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
成都响应式网站开发,dw怎么把手机适应页面变成网页?
如何高效生成建站之星成品网站源码?
用v-html解决Vue.js渲染中html标签不被解析的问题
*请认真填写需求信息,我们会在24小时内与您取得联系。