全网整合营销服务商

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

免费咨询热线: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 


相关文章: 上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  想学网站制作怎么学,建立一个网站要花费多少?  如何通过cPanel快速搭建网站?  小建面朝正北,A点实际方位是否存在偏差?  常州自助建站工具推荐:低成本搭建与模板选择技巧  如何快速查询域名建站关键信息?  制作营销网站公司,淘特是干什么用的?  如何在IIS服务器上快速部署高效网站?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  如何快速打造个性化非模板自助建站?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  网站制作难吗安全吗,做一个网站需要多久时间?  ,巨量百应是干嘛的?  如何获取免费开源的自助建站系统源码?  XML的“混合内容”是什么 怎么用DTD或XSD定义  c++怎么用jemalloc c++替换默认内存分配器【性能】  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  深圳网站制作培训,深圳哪些招聘网站比较好?  如何通过虚拟主机快速搭建个人网站?  建站之星代理费用多少?最新价格详情介绍  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  建站之星如何防范黑客攻击与数据泄露?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  如何零成本快速生成个人自助网站?  如何访问已购建站主机并解决登录问题?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  制作旅游网站html,怎样注册旅游网站?  黑客如何通过漏洞一步步攻陷网站服务器?  C++如何使用std::optional?(处理可选值)  大型企业网站制作流程,做网站需要注册公司吗?  如何用景安虚拟主机手机版绑定域名建站?  如何用搬瓦工VPS快速搭建个人网站?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  太平洋网站制作公司,网络用语太平洋是什么意思?  香港服务器如何优化才能显著提升网站加载速度?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  如何高效利用亚马逊云主机搭建企业网站?  香港服务器部署网站为何提示未备案?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  智能起名网站制作软件有哪些,制作logo的软件?  广州商城建站系统开发成本与周期如何控制?  建设网站制作价格,怎样建立自己的公司网站?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  北京网站制作网页,网站升级改版需要多久?  如何在阿里云通过域名搭建网站?  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  电商网站制作价格怎么算,网上拍卖流程以及规则?  建站之星与建站宝盒如何选择最佳方案?  如何用PHP快速搭建CMS系统?  如何选择适合PHP云建站的开源框架? 

您的项目需求

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