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 相关文章推荐
获取表单控件原始(初始)值的方法
Aug 21 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
Dec 16 Javascript
javascript数组去重方法终极总结
Jun 05 Javascript
javascript简单比较日期大小的方法
Jan 05 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
Mar 19 Javascript
js 截取或者替换字符串中的数字实现方法
Jun 13 Javascript
微信支付 JS API支付接口详解
Jul 11 Javascript
Vue中的methods、watch、computed的区别
Nov 26 Javascript
图文讲解vue的v-if使用方法
Feb 11 Javascript
JavaScript中的事件与异常捕获详析
Feb 24 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
Jun 13 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
Sep 01 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+XML 制作简单的留言本 图文教程
2009/11/02 PHP
php程序的国际化实现方法(利用gettext)
2011/08/14 PHP
PHP开发框架kohana3 自定义路由设置示例
2014/07/14 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
javascript无刷新评论实现方法
2015/05/13 Javascript
基于js实现投票的实例代码
2015/08/04 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
javacript获取当前屏幕大小
2016/06/04 Javascript
浅谈JS中String()与 .toString()的区别
2016/10/20 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
基于jQuery制作小图标上下滑动特效
2017/01/18 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
js 获取扫码枪输入数据的方法
2020/06/10 Javascript
python同时给两个收件人发送邮件的方法
2015/04/30 Python
Python3 模块、包调用&amp;路径详解
2017/10/25 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
Python排序函数的使用方法详解
2020/12/11 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
公司员工检讨书
2014/02/08 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
入党积极分子个人总结
2015/03/02 职场文书
小学教师岗位职责
2015/04/02 职场文书
2015学校年度工作总结
2015/05/11 职场文书