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 相关文章推荐
JS对URL字符串进行编码/解码分析
Oct 25 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
Jan 24 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
Jun 16 Javascript
JS根据年月获得当月天数的实现代码
Jul 03 Javascript
使用jquery给指定的table动态添加一行、删除一行
Oct 13 Javascript
JS多物体实现缓冲运动效果示例
Dec 20 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
Mar 27 Javascript
JS+CSS实现下拉刷新/上拉加载插件
Mar 31 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
Mar 26 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
Dec 04 Javascript
PM2自动部署代码步骤流程总结
Dec 10 Javascript
详解Vue的mixin策略
Nov 19 Vue.js
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
php验证邮箱和ip地址最简单方法汇总
2015/10/30 PHP
php字符串函数 str类常见用法示例
2020/05/15 PHP
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
jquery滚动条插件jScrollPane的使用介绍
2013/11/08 Javascript
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
2013/11/21 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
浅谈Javascript变量作用域问题
2014/12/16 Javascript
javascript实现网站加入收藏功能
2015/12/16 Javascript
详解js图片轮播效果实现原理
2015/12/17 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
详解webpack2+node+react+babel实现热加载(hmr)
2017/08/24 Javascript
NodeJS收发GET和POST请求的示例代码
2017/08/25 NodeJs
vue router仿天猫底部导航栏功能
2017/10/18 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
JS原型与继承操作示例
2019/05/09 Javascript
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
three.js中多线程的使用及性能测试详解
2021/01/07 Javascript
Python原始字符串(raw strings)用法实例
2014/10/13 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
Python/Django后端使用PIL Image生成头像缩略图
2019/04/30 Python
Python json转字典字符方法实例解析
2020/04/13 Python
Python hashlib模块的使用示例
2020/10/09 Python
介绍一下MD5加密算法
2016/11/12 面试题
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
房产转让协议书
2014/04/11 职场文书
C++程序员求职信范文
2014/04/14 职场文书
工程承包协议书
2014/04/22 职场文书
领导班子四风问题对照检查材料
2014/09/27 职场文书
学校领导干部民主生活会整改方案
2014/09/29 职场文书
详解MySQL InnoDB存储引擎的内存管理
2021/04/08 MySQL
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript
基于Python实现射击小游戏的制作
2022/04/06 Python