nodejs 中模拟实现 emmiter 自定义事件


Posted in NodeJs onFebruary 22, 2016

nodejs 中模拟实现 emmiter 自定义事件

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title></title>
  <script>
   function Emitter() {
    this.events = {}; //存放事件的地方
   }
   Emitter.prototype.on = function(type, cb) {
    var events = this.events; 
    events = events[type] = events[type] || [];
    events.push(cb);
   };
   
   Emitter.prototype.emit = function(type) {
    var args = [].slice.call(arguments, 1);
    var cbs = this.events[type], cb;
    while (cb = cbs && cbs.shift()) {
     cb.apply(this, args);
    }
   };
   var emitter = new Emitter();
   emitter.on('customevent', function(param) {
    alert(param);
   });
   emitter.on('customevent', function() {
    alert(1);
   });
   emitter.emit('customevent', 'xxx');
  </script>
 </head>
 <body>
 </body>
</html>
NodeJs 相关文章推荐
nodejs连接mongodb数据库实现增删改查
Dec 01 NodeJs
3分钟快速搭建nodejs本地服务器方法运行测试html/js
Apr 01 NodeJs
nodejs利用ajax实现网页无刷新上传图片实例代码
Jun 06 NodeJs
nodejs中sleep功能实现暂停几秒的方法
Jul 12 NodeJs
详解nodejs通过代理(proxy)发送http请求(request)
Sep 22 NodeJs
nodejs项目windows下开机自启动的方法
Nov 22 NodeJs
基于nodejs实现微信支付功能
Dec 20 NodeJs
详解NODEJS的http实现
Jan 04 NodeJs
nodejs acl的用户权限管理详解
Mar 14 NodeJs
nodejs中函数的调用实例详解
Oct 31 NodeJs
nodejs 使用 js 模块的方法实例详解
Dec 04 NodeJs
详解nodejs内置模块
May 06 NodeJs
nodejs修复ipa处理过的png图片
Feb 17 #NodeJs
Nodejs爬虫进阶教程之异步并发控制
Feb 15 #NodeJs
你一定会收藏的Nodejs代码片段
Feb 04 #NodeJs
Nodejs中session的简单使用及通过session实现身份验证的方法
Feb 04 #NodeJs
nodejs实现bigpipe异步加载页面方案
Jan 26 #NodeJs
NodeJS实现阿里大鱼短信通知发送
Jan 17 #NodeJs
实例详解Nodejs 保存 payload 发送过来的文件
Jan 14 #NodeJs
You might like
JAVA/JSP学习系列之七
2006/10/09 PHP
PHP字符串word末字符实现大小写互换的方法
2014/11/10 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
PHP xpath提取网页数据内容代码解析
2020/07/16 PHP
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法
2016/05/19 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
详解用webpack把我们的业务模块分开打包的方法
2017/07/20 Javascript
小试SVG之新手小白入门教程
2019/01/08 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
Python通过解析网页实现看报程序的方法
2014/08/04 Python
Python中使用第三方库xlutils来追加写入Excel文件示例
2015/04/05 Python
Python多线程编程(五):死锁的形成
2015/04/05 Python
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
在Python中操作字典之update()方法的使用
2015/05/22 Python
Python字符串格式化
2015/06/15 Python
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
python hash每次调用结果不同的原因
2019/11/21 Python
Scrapy框架介绍之Puppeteer渲染的使用
2020/06/19 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
css3 border-radius属性详解
2017/07/05 HTML / CSS
HTML5各种头部meta标签的功能(推荐)
2017/03/13 HTML / CSS
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
FC-Moto美国:欧洲最大的摩托车服装和头盔商店之一
2019/08/24 全球购物
高中自我评价分享
2013/12/05 职场文书
四查四看剖析材料
2014/02/14 职场文书
简历中个人自我评价分享
2014/03/15 职场文书
节能宣传周活动总结
2014/05/08 职场文书
2014年教学工作总结
2014/11/13 职场文书
好媳妇事迹材料
2014/12/24 职场文书
单位更名证明
2015/06/18 职场文书
导游词之贵州织金洞
2019/10/12 职场文书