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 innerHTML使用分析
Dec 03 Javascript
jQuery模拟点击A标记示例参考
Apr 17 Javascript
如何在MVC应用程序中使用Jquery
Nov 17 Javascript
jQuery EasyUI 页面加载等待及页面等待层
Feb 06 Javascript
Windows下Node.js安装及环境配置方法
Sep 18 Javascript
详解如何优雅地在React项目中使用Redux
Dec 28 Javascript
Vue微信项目按需授权登录策略实践思路详解
May 07 Javascript
微信小程序实现折叠展开效果
Jul 19 Javascript
Vue-cli@3.0 插件系统简析
Sep 05 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
Jun 12 Javascript
微信小程序页面调用自定义组件内的事件详解
Sep 12 Javascript
原生JS实现拖拽功能
Dec 16 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
DC游戏Steam周三特惠 《蝙蝠侠》阿卡姆系列平史低
2020/04/09 欧美动漫
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
2014/08/22 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
学习ExtJS(二) Button常用方法
2009/10/07 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
JS针对Array的各种操作汇总
2016/11/29 Javascript
vue+vux实现移动端文件上传样式
2017/07/28 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
详解Python的Django框架中的通用视图
2015/05/04 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)
2018/11/29 Python
Python中包的用法及安装
2020/02/11 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
Python 多进程原理及实现
2020/12/21 Python
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
英国历史最悠久的DJ设备供应商:DJ Finance、DJ Warehouse、The DJ Shop
2019/09/04 全球购物
夏威夷咖啡公司:Hawaii Coffee Company
2019/09/19 全球购物
毕业生找工作的求职信范文
2013/12/24 职场文书
销售员岗位职责范本
2014/02/03 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
教师求职自荐信
2014/03/09 职场文书
项目经理任命书内容
2014/06/06 职场文书
高中生旷课检讨书
2014/10/08 职场文书
离婚协议书格式
2015/01/26 职场文书
《雷雨》教学反思
2016/02/20 职场文书
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python
JS函数式编程实现XDM一
2022/06/16 Javascript
Apache SkyWalking 监控 MySQL Server 实战解析
2022/09/23 Servers