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 各浏览器的 Javascript 效率对比
Jan 23 Javascript
很全的显示阴历(农历)日期的js代码
Jan 01 Javascript
判断iframe是否加载完成的完美方法
Jan 07 Javascript
window.onresize 多次触发的解决方法
Nov 08 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
Jul 14 Javascript
vue中锚点的三种方法
Jul 06 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
Oct 24 Javascript
Vue项目路由刷新的实现代码
Apr 17 Javascript
electron-vue开发环境内存泄漏问题汇总
Oct 10 Javascript
在vue中使用vuex,修改state的值示例
Nov 08 Javascript
js实现弹窗效果
Aug 09 Javascript
给原生html中添加水印遮罩层的实现示例
Apr 02 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
php连接数据库代码应用分析
2011/05/29 PHP
php中计算中文字符串长度、截取中文字符串的函数代码
2011/08/09 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
详解WordPress开发中get_header()获取头部函数的用法
2016/01/08 PHP
Yii2 GridView实现列表页直接修改数据的方法
2016/05/16 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
javascript 冒泡排序 正序和倒序实现代码
2010/12/14 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
2013/03/29 Javascript
常见的原始JS选择器使用方法总结
2014/04/09 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
Angular实现form自动布局
2016/01/28 Javascript
js类式继承与原型式继承详解
2016/04/07 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
NodeJs入门教程之定时器和队列
2019/03/08 NodeJs
js实现有趣的倒计时效果
2021/01/19 Javascript
[04:07]显微镜下的DOTA2第八期——英雄复活动作
2014/06/24 DOTA
Python操作json数据的一个简单例子
2014/04/17 Python
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
使用sublime text3搭建Python编辑环境的实现
2021/01/12 Python
CSS3 绘制BMW logo实的现代码
2013/04/25 HTML / CSS
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
工程预算与管理应届生求职信
2013/10/06 职场文书
公司会议策划方案
2014/05/17 职场文书
党员创先争优心得体会
2014/09/11 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
停电放假通知
2015/04/14 职场文书
信用卡收入证明范本
2015/06/12 职场文书
Python学习之迭代器详解
2022/04/01 Python