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 相关文章推荐
JQuery 学习笔记 选择器之六
Jul 23 Javascript
基于jquery的9行js轻松实现tab控件示例
Oct 12 Javascript
页面图片浮动左右滑动效果的简单实现案例
Feb 10 Javascript
Javascript 函数parseInt()转换时出现bug问题
May 20 Javascript
js实现漂浮回顶部按钮实例
May 06 Javascript
JS及PHP代码编写八大排序算法
Jul 12 Javascript
AngularJs 指令详解及示例代码
Sep 01 Javascript
浅谈jQuery双事件多重加载的问题
Oct 05 Javascript
JS实现的点击表头排序功能示例
Mar 27 Javascript
Vue.js中该如何自己维护路由跳转记录
May 19 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
Jan 26 Javascript
解决vue页面渲染但dom没渲染的操作
Jul 27 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生成Android客户端扫描可登录的二维码
2016/05/13 PHP
laravel 获取当前url的别名方法
2019/10/11 PHP
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
window.location.href IE下跳转失效的解决方法
2014/03/27 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
2014/04/29 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
手机端js和html5刮刮卡效果
2020/09/29 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
React-native桥接Android原生开发详解
2018/01/17 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
详解es6新增数组方法简便了哪些操作
2019/05/09 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
Python发送email的3种方法
2015/04/28 Python
在Python的Django框架中加载模版的方法
2015/07/16 Python
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
Python使用pymongo模块操作MongoDB的方法示例
2018/07/20 Python
Python OpenCV实现鼠标画框效果
2020/08/19 Python
python全栈开发语法总结
2020/11/22 Python
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
bareMinerals官网:矿物质化妆品和护肤品
2018/02/04 全球购物
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
Vuori官网:运动服装的终级表现
2021/01/27 全球购物
高中语文教学反思
2014/01/16 职场文书
应聘编辑自荐信范文
2014/03/12 职场文书
市场总经理岗位职责
2014/04/11 职场文书
安全环保演讲稿
2014/08/28 职场文书
蛋糕店创业计划书范文
2014/09/21 职场文书
医院合作意向书范本
2015/05/08 职场文书
2016入党心得体会范文
2016/01/06 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python