js架构之中介模式
2016-02-22 15:51
337 查看
<script type="text/javascript"> function Player(name){ this.name=name; this.point=0; } Player.prototype.play=function(){//prototype属性使您有能力向对象添加属性和方法(Player添加play属性) this.point +=1; //通知中介者 mediator.played(); }; //计分板 var scoreboard={ //更新的html元素 ele:document.getElementById('results'); //更新得分显示 update:function(score){ var i,msg=''; for(i in score){ if (score.hasOwnProperty(i)) { msg +='<p><strong>' + i + '</strong>'; msg +='score[i]'; msg +='</p>'; } } this.ele.innerHTML=msg; } }; //中介者 var mediator={ //所以玩家 players:{}, //初始化 setup:function(){ //将this.players赋值给内部变量player var player=this.players; player.home=new Player('Home'); player.guest=new Player('Guest'); }, //如果有人玩,更新分数,以下就2个玩家player.home,以及player.guest played:function(){ //将this.players赋值给内部变量player var player=this.players; score={ Home:player.home.point, Guest:player.guest.point }; scoreboard.update(score); } //处理用户交互 keypress:function(e){ e=e || window.event;//window的event事件 if (e.while===49) {//按键'1' mediator.players.home.play();//调用player对象原型方法 } if (e.while===48) {//按键'2' mediator.players.home.play();//调用player对象原型方法 } } }; //初始化 mediator.setup(); window.onkeypress=mediator.keypress(); //超时 setTimeout(function(){ window.onkeypress=null; console.log('game over!'); },30000); </script>
相关文章推荐
- 使用Selenium通过浏览器对网站进行自动化测试
- 大型分布式网站架构技术总结
- 网站502与504错误分析
- 利用JS实现手机访问PC网址自动跳转到wap网站
- Ubuntu 网站服务器环境搭建
- 从excel文件中获得数据,实现网站的批量查询数据功能
- 如何设计一款优秀的软件架构
- SOA-面向服务架构
- js大型架构之Facade模式
- DRDB安装配置详解+NFS(Mysql)+Heartbeat高可用实例配置-任志远
- 二代旅游CMS网站管理系统使用手册(一)--系统介绍
- Microservice架构模
- Wordpress 网站搭建及性能监控方法详解!
- Wordpress 网站搭建及性能监控方法详解!
- EF架构~Cannot attach the file as database
- iOS应用架构谈(一):架构设计的方法论
- 【00】angular学习网站
- MVP架构初识
- 从Hadoop到Spark的架构实践
- HP+MYSQL网站SQL Injection攻防