首页 > Web开发 > 详细

JS实现简陋的观察者模式

时间:2018-05-26 21:10:35      阅读:180      评论:0      收藏:0      [点我收藏+]
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<div id="box">
			点我发布事件
		</div>
		<script src="js/jquery-2.1.0.min.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			var pubSub = function(){};
			pubSub.prototype.threadPool = [];
			pubSub.subscribe = function(name,cb){
				pubSub.prototype.threadPool.push({
					name:name,
					fun:cb
				});
			}
			
			pubSub.publish = function(name){
				var threadPool = pubSub.prototype.threadPool;
				for (var i in threadPool) {
					setTimeout(function(i){
						if(threadPool[i][‘name‘]==name){
							threadPool[i][‘fun‘]();
						}
					}(i),0);
				}
			}
			
			$("#box").click(function(){
				pubSub.publish(‘dateChange‘);
			})
			
			pubSub.subscribe(‘dateChange‘,function(){
				this.name = ‘lisi‘
				console.log(‘hello world‘)
			})
			
			
			pubSub.subscribe(‘dateChange‘,function(){
				this.name = ‘zhangsan‘
				console.log(‘这是我订阅的第二个方法‘)
			})
			
		</script>
	</body>
</html>

  

有时间会更新一下。。。。。。

JS实现简陋的观察者模式

原文:https://www.cnblogs.com/MainActivity/p/9094193.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!