JS实现闭包中的沙箱模式示例


Posted in Javascript onSeptember 07, 2017

本文实例讲述了JS实现闭包中的沙箱模式。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
</body>
<script>
  //闭包实现模块化:沙箱模式   -->设计模式中的模块模式
  //模块化:就是一个能够实现完整功能的独立体(不能被外界污染)
  //一般来说,在开发中会将面向对象和模块化进行混合使用
  //--->使用技巧:把一个功能当成模块,在模块下面使用面向对象来实现
  var Person=(function(){
    //fn是一个局部函数,用户不可以随意修改
    function fn(){
      console.log("fn")
    }
    function Person(){
    }
    Person.prototype={
      constructor:Person,
      s1:function(){
        fn();
      },
      s2:function(){
      }
    }
    return Person;//Person是一个函数,可以访问到这一次执行环境中产生的fn Person的内存地址
    //由于是一个自执行函数,外层函数只会执行一次,导致了Person是唯一的
  })()
  var p1=new Person();
  var p2=new Person();
  //delete Person.prototype.s1;
</script>
</html>

更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
理解javascript回调函数
Dec 28 Javascript
jQuery实现tag便签去重效果的方法
Jan 20 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
Feb 19 Javascript
javascript实现数组去重的多种方法
Mar 14 Javascript
vue todo-list组件发布到npm上的方法
Apr 04 Javascript
关于Vue在ie10下空白页的debug小结
May 02 Javascript
微信小程序视图容器(swiper)组件创建轮播图
Jun 19 Javascript
微信小程序基础教程之worker线程的使用方法
Jul 15 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
Aug 09 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
Feb 01 Javascript
vue实现商品列表的添加删除实例讲解
May 14 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
Jul 19 Javascript
react-native使用react-navigation进行页面跳转导航的示例
Sep 07 #Javascript
详解vue-cli构建项目反向代理配置
Sep 07 #Javascript
vue数字类型过滤器的示例代码
Sep 07 #Javascript
vue监听scroll的坑的解决方法
Sep 07 #Javascript
react高阶组件经典应用之权限控制详解
Sep 07 #Javascript
React + webpack 环境配置的方法步骤
Sep 07 #Javascript
微信小程序之页面拦截器的示例代码
Sep 07 #Javascript
You might like
一些花式咖啡的配方
2021/03/03 冲泡冲煮
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
JavaScript 变量基础知识
2009/11/07 Javascript
jquery 操作DOM案例代码分享
2012/04/05 Javascript
jQuery $命名冲突解决方案汇总
2014/11/13 Javascript
angular.element方法汇总
2015/01/07 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
基于JS2Image实现圣诞树代码
2015/12/24 Javascript
NodeJS创建基础应用并应用模板引擎
2016/04/12 NodeJs
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
浅谈React碰到v-if
2018/11/04 Javascript
javascript对HTML字符转义与反转义
2018/12/13 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
python 在某.py文件中调用其他.py内的函数的方法
2019/06/25 Python
详解python uiautomator2 watcher的使用方法
2019/09/09 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
pandas统计重复值次数的方法实现
2021/02/20 Python
火山动力Java笔试题
2014/06/26 面试题
应届毕业生求职自荐书
2014/01/03 职场文书
岗位廉洁从业承诺书
2014/03/28 职场文书
药剂专业个人求职信范文
2014/04/29 职场文书
员工团队活动方案
2014/08/28 职场文书
春秋淹城导游词
2015/02/11 职场文书
2015年读书月活动总结
2015/03/26 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
html5表单的required属性使用
2021/07/07 HTML / CSS