学习javascript设计模式之中介者模式
2015-10-26 14:32
519 查看
1、中介者模式的作用就是解除对象与对象之间的紧耦合关系。增加一个中介者对象后,所有的相关对象都通过中介者来通信,而不是互相引用,所以当一个对象发生改变时,只需要通知中介对象即可。中介者使各对象之间耦合松散,而且可以独立的改变他们之间的交互。中介者模式使网状的多对多关系变成了相对简单的一对多关系。
<select id="colorselect"> <option value="">请选择颜色</option> <option value="red">红色</option> <option value="blue">蓝色</option> </select> <select name="" id="memoryselect"> <option value="">请选择大小</option> <option value="16G">16G</option> <option value="32G">32G</option> </select> 请输入购买数量: <input type="text" id="numberInput" /><br/> 您选择了颜色: <div id="colorInfo"></div><br /> 您选择了内存: <div id="memoryInfo"></div><br /> 您输入了数量: <div id="numberInfo"></div><br /> <button id="nextBtn" disabled="true">请选择手机颜色和购买数量</button>
<script type="text/javascript"> var colorselect = document.getElementById("colorselect"); var memoryselect = document.getElementById("memoryselect"); var numberInput = document.getElementById("numberInput"); var colorInfo = document.getElementById("colorInfo"); var memoryInfo = document.getElementById("memoryInfo"); var numberInfo = document.getElementById("numberInfo"); var goods = { "red|32G":3, "red|16G":0, "blue|32G":1, "blue|16G":6 } var mediator = (function(obj){ return { change:function(obj){ var color = colorselect.value, memory = memoryselect.value; if(obj == colorselect){ colorInfo.innerHTML = color; }else if(obj == memoryselect){ memoryInfo.innerHTML = memory; } } } })(); colorselect.onchange = function(){ mediator.change(this); } memoryselect.onchange = function(){ mediator.change(this); } numberInput.oninput = function(){ mediator.change(this); }
相关文章推荐
- js页面刷新一次
- javascript 学习总结(一)
- javascript中将数字提出放入到数组中
- 如何实现JavaScript动态加载CSS和JS文件
- JavaScript入门(上篇)
- JS跨域方法及原理
- JSP页面中路径设置
- JSP与Servlet
- JSP语法九大内置对象和四大作用域
- 你见过这些JavaScript的陷阱吗?
- json错误信息记录
- JSP指令和标签
- 写一个js的伪HashMap,不包含hash算法,能用就行(转载)
- javascript simple MVC
- javascript this的意思
- Play 2.0 中文资料 - Play JSON 库
- play Framework play json
- js 获取url参数
- 基于javascript实现漂亮的页面过渡动画效果附源码下载
- JSP页面中超链接传递中文参数出现乱码问题解决方法