全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JS沙箱模式实例分析

本文实例讲述了JS沙箱模式。分享给大家供大家参考,具体如下:

//SandBox(['module1,module2'],function(box){});
/*
*
*
* @function
* @constructor
* @param []  array   模块名数组
* @param callback function 回调函数
* 功能:新建一块可用于模块运行的环境(沙箱),自己的代码放在回调函数里,且不会对其他的个人沙箱造成影响
和js模块模式配合的天衣无缝
*
* */
function SandBox() {
  //私有的变量
  var args = Array.prototype.slice.call(arguments),
      callback = args.pop(),
      //模块可以作为一个数组传递,或作为单独的参数传递
      modules = (args && typeof args[0] == "string") ? args : args[0];
  //确保该函数作为构造函数调用
  if (!(this instanceof SandBox)) {
    return new SandBox(modules,callback);
  }
  //不指定模块名和“*”都表示“使用所有模块”
  if (!modules || modules[0] === "*") {
    for(value in SandBox.modules){
      modules.push(value);
    }
  }
  //初始化所需要的模块(将想要的模块方法添加到box对象上)
    for (var i = 0; i < modules.length; i++) {
      SandBox.modules[modules[i]](this);
    }
  //自己的代码写在回调函数里,this就是拥有指定模块功能的box对象
  callback(this);
}
 SandBox.prototype={
   name:"My Application",
   version:"1.0",
   getName:function() {
     return this.name;
   }
 };
/*
* 预定义的模块
*
* */
SandBox.modules={};
SandBox.modules.event=function(box){
  //私有属性
  var xx="xxx";
  //公共方法
  box.attachEvent=function(){
    console.log("modules:event------API:attachEvent")
  };
  box.dettachEvent=function(){
  };
}
SandBox.modules.ajax=function(box) {
  var xx = "xxx";
  box.makeRequest = function () {
  };
  box.getResponse = function () {
  };
}
SandBox(['event','ajax'],function(box){
  box.attachEvent();
})

运行效果截图:

更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。


# JS  # 沙箱模式  # quickjs 封装 JavaScript 沙箱详情  # JavaScript 沙箱探索  # 浅谈 JavaScript 沙箱Sandbox  # 浅谈前端JS沙箱实现的几种方式  # 浅谈Node.js 沙箱环境  # Node.js应用设置安全的沙箱环境  # JS实现闭包中的沙箱模式示例  # JavaScript 设计模式 安全沙箱模式  # WebWorker 封装 JavaScript 沙箱详情  # 自己的  # 回调  # 放在  # 相关内容  # 遍历  # 数据结构  # 对其  # 给大家  # 天衣无缝  # 作为一个  # 更多关于  # 所需要  # 写在  # 所述  # 程序设计  # 面向对象  # 操作技巧  # 可用于  # 讲述了  # javascript 


相关文章:   C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  微信小程序制作网站有哪些,微信小程序需要做网站吗?  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  如何快速上传自定义模板至建站之星?  如何正确下载安装西数主机建站助手?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  小型网站制作HTML,*游戏网站怎么搭建?  平台云上自主建站:模板化设计与智能工具打造高效网站  网站app免费制作软件,能免费看各大网站视频的手机app?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  建站之星后台管理系统如何操作?  如何在宝塔面板创建新站点?  免费网站制作appp,免费制作app哪个平台好?  建站之星多图banner生成与模板自定义指南  视频网站制作教程,怎么样制作优酷网的小视频?  建站之星如何实现五合一智能建站与营销推广?  建站之星导航配置指南:自助建站与SEO优化全解析  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  ,怎么用自己头像做动态表情包?  如何在阿里云虚拟服务器快速搭建网站?  制作营销网站公司,淘特是干什么用的?  如何快速上传建站程序避免常见错误?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何快速搭建高效香港服务器网站?  如何通过NAT技术实现内网高效建站?  Python lxml的etree和ElementTree有什么区别  网站制作大概多少钱一个,做一个平台网站大概多少钱?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何在Windows服务器上快速搭建网站?  Bpmn 2.0的XML文件怎么画流程图  建站DNS解析失败?如何正确配置域名服务器?  北京专业网站制作设计师招聘,北京白云观官方网站?  外贸公司网站制作哪家好,maersk船公司官网?  建站之星备案是否影响网站上线时间?  Python多线程使用规范_线程安全解析【教程】  头像制作网站在线制作软件,dw网页背景图像怎么设置?  如何自定义建站之星模板颜色并下载新样式?  建站之星安装模板失败:服务器环境不兼容?  如何在Golang中使用replace替换模块_指定本地或远程路径  如何自定义建站之星网站的导航菜单样式?  如何用西部建站助手快速创建专业网站?  建站之星代理如何优化在线客服效率?  建站主机选哪家性价比最高?  建站VPS配置与SEO优化指南:关键词排名提升策略  如何确保FTP站点访问权限与数据传输安全?  外汇网站制作流程,如何在工商银行网站上做外汇买卖? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。