JS沙箱模式实例分析
2017-09-04 12:06
615 查看
本文实例讲述了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程序设计有所帮助。
您可能感兴趣的文章:
- JavaScript 设计模式 安全沙箱模式
- JavaScript利用闭包实现模块化
- JavaScript的模块化:封装(闭包),继承(原型) 介绍
- JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
- js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
- JavaScript设计模式之观察者模式(发布者-订阅者模式)
- JavaScript 设计模式之组合模式解析
- javascript 设计模式之单体模式 面向对象学习基础
- javascript设计模式之解释器模式详解
- 常用的Javascript设计模式小结
- JavaScript设计模式之工厂方法模式介绍
- JS实现闭包中的沙箱模式示例
相关文章推荐
- JS建造者模式基本用法实例分析
- js正则表达式中的单行模式与多行模式实例分析
- 本文实例分析了js正则表达式中的单行模式与多行模式。分享给大家供大家参考
- JS建造者模式基本用法实例分析
- js正则表达式中的单行模式与多行模式实例分析
- JS常见构造模式实例对比分析
- js网页滚动条滚动事件实例分析
- js超时调用setTimeout和间歇调用setInterval实例分析
- js常用系统函数用法实例分析
- JS扩展方法实例分析
- JS获取url参数、主域名的方法实例分析
- Python编程中的反模式实例分析
- JavaScript代码复用模式实例分析
- 通过js获取cookie的实例及简单分析
- JS高级运动实例分析
- JS设计模式之责任链模式实例详解
- 海外共享软件营销模式实例分析
- JS提交form表单实例分析
- JS中FRAME的操作问题实例分析