通常我们会有这样的需求,制作一个模态窗口,我们用一个与body一样大的div来覆盖整个页面,当作一个荫罩层,那么此div应该是全局的而且唯一的。
利用js闭包的特性,写出以下代码。
var createMask = function(){
  var mask;
  return function(){
       return mask || ( mask = document.body.appendChild( document.createElement('div') ) )
  }
}()
那么我们现在拥有一个createMask()方法用于创建全局的div。包内有一个mask变量,用于在全局作用域保存这个div,并且不会因为这个函数的执行完毕而丢失。

转载于:https://www.cnblogs.com/bugluo/archive/2012/11/20/2778822.html

js与设计模式----单例相关推荐

  1. java23种设计模式+单例_Java23种设计模式之单例模式

    一.单例模式简介 单例模式是Java设计模式中常见的一种模式.主要分为懒汉式单例.饿汉式单例.登记式单例: 单例模式的特点:  1.单例类只能有一个实例:  2.单例类必须自己创建自己的唯一的实例: ...

  2. Java中的程序设计模式--单例与多例

    单例设计模式: 就是指一个类只允许产生一个实例化对象. 分析: 要想只能产生一个实例化对象,就意味着使用者不能在外部使用 new 生成一个实例,即表示该类的构造函数是私有的(貌似C++当中没有私有的构 ...

  3. Objective-C设计模式——单例Singleton(对象创建)

    单例 和其它语言的单例产不多,可以说是最简单的一种设计模式了.但是有几个点需要注意下,单例就是一个类只有一个实例. 所以我们要想办法阻止该类产生别的实例,一般语言中都会将构造函数写为private.但 ...

  4. java设计模式 单例_java设计模式--单例模式

    单例设计模式 Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点. 核心知识点如下: (1) 将采用单例 ...

  5. 23种设计模式 单例 (整理摘抄优秀的博文) 记住

    https://github.com/yzmaodeng/java-keypointknowledge/commit/0894a14b03b724cd362f466e8f20514efbc164aa ...

  6. 面试官最喜欢考的设计模式---单例设计模式

    一.讲在前面的废话 笔者曾经多次面试都遇到了这个问题,请你说一下软件的设计模式,一般我们都会把23种模式例举几个出来,如果没有说错,你一定会列举单例设计模式,这样的话你就中了面试官的圈套了.接下来的一 ...

  7. Javascript 设计模式 单例

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/30490955 一直很喜欢Js,,,今天写一个Js的单例模式实现以及用法. 1.单 ...

  8. Java设计模式——单例设计模式/权限修饰符的使用

    1. 单例模式含义 所谓的单例设计模式,就是采取一定的方法保证整个软件系统中,某个类只能存在一个对象实例. 单例设计模式 2. 单例设计模式的两种实现方法 饿汉式:不管是否需要该实例,我事先就把该实例 ...

  9. JAVA设计模式 - 单例与工厂模式

    前言 设计模式是在前人总结下 , 得出的经验, 设计模式的本质是面向对象设计原则的实际运用,是对类的封装性.继承性和多态性以及类的关联关系和组合关系的充分理解, 接着我们来看设计模式中的两种比较重要的 ...

最新文章

  1. Azure恢复服务-使用Windows Backup备份到云端
  2. 干货 | 基于 BDD 理念的 UI 自动化测试在携程度假的应用
  3. docker从仓库找镜像
  4. Linux 关于查看 cpu 的命令
  5. 机器学习 —— 概率图模型(Homework: CRF Learning)
  6. 陆正耀为瑞幸数据造假道歉:非常自责 会全力挽回损失
  7. 理解C语言——从小菜到大神的晋级之路(9)——多维数组
  8. xcode mysql库_Mac+MySQL+Xcode数据库配置
  9. php speex,开源语音格式speex教程
  10. 在群晖Docker上搭建自己项目管理工具Focalboard
  11. chm文件打开出现已取消该网页的导航
  12. 软件测试交行项目的流程,交通银行流程引擎POC测试报告——IntelliFlow.pdf
  13. Docker-设置redis容器主从模式哨兵模式
  14. 【不知道发啥】Win7网页版使用方法
  15. 导热系数常见测量方法
  16. java 手动触发gc_java触发full gc的几种情况整理
  17. Vue无缝滚动轮播插件vue-seamless-scroll
  18. Coreldraw支持的所有文件格式
  19. MFC界面设计----改变界面大小使其中控件随其界面大小变化的方法
  20. python爬斗鱼直播官网,【爬虫】nodejs爬斗鱼直播间数据实战

热门文章

  1. 服务器用户连接数设置
  2. 我只是不甘心-------Day51
  3. 最常见的20种VC++编译错误信息
  4. 判断js中的数据类型的方法
  5. Java程序员应知道的十条Java优化策略,让你的系统健步如飞
  6. git——^和~的区别(转)
  7. Sphinx的介绍和原理探索
  8. 40个精心设计的免费的社交网络图标
  9. 位图索引(bitmap index)冲突引起的TX锁争用
  10. 如何看懂ORACLE执行计划