您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 安康分类信息网,免费分类信息发布

详解JS沙箱模式

2024/3/31 8:57:58发布4次查看
这篇文章主要介绍了js沙箱模式,结合实例形式分析了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(); })
运行效果截图:
以上就是详解js沙箱模式的详细内容。
安康分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录