码迷,mamicode.com
首页 > Web开发 > 详细

JS实现简陋的观察者模式

时间:2018-05-26 21:30:01      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:char   out   hello   script   date   utf-8   min   har   arp   

<!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实现简陋的观察者模式

标签:char   out   hello   script   date   utf-8   min   har   arp   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!