javsscript闭包的一种使用场景--沙箱
2016-10-20 00:00
120 查看
//沙箱:模块化,沙箱是一个隔离的环境,最大的好处就是避免全局变量的污染. var model = (function () {//一个匿名的立即执行函数 var price = 900;//这是一个model局部的变量,外界无法访问,无法修改 //有效的保障了属性的安全性 return { pay: function (money) { if (money < price) { console.log("您的消费不够,请继继续消费"); } else { console.log("恭喜成为VIP"); } } } })(); console.log(model.pay(800));//"消费不够.." undefined model.pay(1000);//"VIP..." //千万注意不用打印,pay函数本身就有输出,如果在console.log中 //会输出函数的返回值. //在面向对象中使用沙箱 //应用场景:在页面初始化的时候要用到f1,f2,f3三个函数 //这三个函数不想让外界访问,需要把这单个方法声明成为构造函数 //内部私有的变量 var songManger = (function(){ function f1(){ console.log("函数f1的方法"); } function f2(){ console.log("函数f2的方法"); } function f3(){ console.log("函数f4的方法"); } function SongManger(){//声明一个构造函数 } SongManger.prototype={//在原型对象上扩展方法 init:function(){ f1(); f2(); f3(); } }; // return SongManger;//注意这个返回的是构造函数,使用之前需要先实例化一下 return new SongManger;//把构造函数返回,实例化一下,这样外边就不需要实例化了 })(); songManger.init();//
相关文章推荐
- SASE+:一种使用克林闭包应用于事件流的敏捷语言
- 构想一个使用手工锁定解决一种业务需求的场景
- VS2008 中使用 JavsScript 智能提示
- 什么是闭包?闭包的工作原理、优缺点、使用场景和对页面的影响
- swift 基础小结 --delegate、Optional、GCD的使用、request请求、网络加载图片并保存到沙箱、闭包以及桥接
- 【JavsScript】XMLHttpRequest Level 2 使用指南
- Java技术_每天掌握一种设计模式(006)_使用场景及简单实例(创建型:原型模式)
- Java技术_每天掌握一种设计模式(004)_使用场景及简单实例(创建型:抽象工厂)
- 闭包的使用以及应用场景以及垃圾回收机制
- ServeltContext的理解和一种使用场景
- Oracle LOCK内部机制及最佳实践系列(三)构想一个使用手工锁定解决一种业务需求的场景
- Java技术_每天掌握一种设计模式(005)_使用场景及简单实例(创建型:建造模式)
- 【前端第三天】闭包的含义,闭包的优缺点,闭包的使用场景
- 什么是闭包?闭包的工作原理、优缺点、使用场景和对页面的影响
- Java技术_每天掌握一种设计模式(003)_使用场景及简单实例(创建型:工厂方法)
- 闭包的使用场景
- 用dojo.hitch避免闭包使用的一种方法
- Java技术_每天掌握一种设计模式(002)_使用场景及简单实例(创建型:单例模式)
- JavsScript--on与addEventListener的使用与两者的不同
- ReaderWriterLock的UpgradeToWriterLock方法的一种使用场景