一个简单的前端事件框架

参考网上的一个资料,做下备注。

<html><head><title>js event demo</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0" max-age="0"></head><body><h4>js event demo</h4></body><script type="text/javascript">//自定义事件function EventEmitter() {this.events = {};}   //绑定事件函数EventEmitter.prototype.on = function(ename, call){this.events[ename] = this.events[ename] || [];this.events[ename].push(call);}EventEmitter.prototype.emit = function(ename, _){var events = this.events[ename];//取参数,剔除参数enamevar args   = Array.prototype.slice.call(arguments, 1);for(var i = 0; i < events.length; i++){//调用绑定的事件函数events[i].apply(null, args);}}function app(){calltime = 0;//同一个事件绑定了两个处理函数this.on('start',function(user, date){calltime += 1;console.log('event start: ' + user + " " + date + " " + calltime);});this.on('start', function(user, date){calltime += 1;console.log('event start: ' + user + " " + date + " " + calltime);})}app.prototype = new EventEmitter();var a = new app();//触发事件a.emit('start', 'fred', new Date());</script></html>

 

转载于:https://www.cnblogs.com/Fredric-2013/p/8399056.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux制作一键恢复,Linux/Centos Mondo 一键部署、镜像恢复,快速部署

1.环境准备image.png2.安装mondocurl -o /etc/yum.repos.d/mondorescue.repo ftp://ftp.mondorescue.org/rhel/7/x86_64/mondorescue.reposed -i s#gpgcheck1#gpgcheck0#g /etc/yum.repos.d/mondorescue.repoyum -y install mondosed -i s#EXTRA_SPACE150000#EXTRA_SPACE650000…

转载:pycharm最新版新建工程没导入本地包问题:module 'selenium.webdriver' has no attribute 'Firefox'...

pycharm最新版新建工程没导入本地包问题&#xff1a;module selenium.webdriver has no attribute Firefox 前言 最新版的pycharm做了很大的改变&#xff0c;新建工程的时候&#xff0c;默认不导入本地的安装包&#xff0c;这就导致很多小伙伴踩坑了。。。明明已经pip安装过sel…

chrome 开发者工具,查看元素 hover 样式

在web开发中&#xff0c;浏览器开发者工具是我们常用的调试工具。我们经常会有这样的需求&#xff0c;就是查看元素的时候需要查看它的hover样式。相信有很多小伙伴都遇到过这样的情形&#xff0c;始终选不中hover后的元素状态。其实在开发者工具中是有地方可以设置的。方法如下…

.net ad域登录 form认证_golang|给Gitbook做个认证代理

后台管理系统嵌入了Gitbook做帮助中心&#xff0c;需要给Gitbook添加下认证。思路如下&#xff1a;修改Gitbook发布时的js&#xff0c;给每个URL拼接上用户登录后的Token&#xff0c;Gitbook前面有个代理获取这个Token&#xff0c;Token验证成功&#xff0c;则将请求发送给Gitb…

将亚型多态性与通用多态性相关联的危险

Java 5已将通用多态性引入Java生态系统。 即使我们都知道由于泛型类型擦除及其后果而引起的无数警告&#xff0c;这对Java语言还是一个很大的补充。 通用多态性&#xff08;也称为参数多态性 &#xff09;通常与可能预先存在的亚型多态性正交。 一个简单的例子是collections AP…

strtoul()要优于atoi()函数---C语言

strtoul()&#xff1a;将字符串转为长整型整数 atoi()&#xff1a;将字符串转为整型整数 在32位STM32中&#xff0c;int是32位的&#xff0c;如果字符串是“3123456789”&#xff0c;大于0x7fff fff&#xff0c;用atoi()函数返回的值就是0x7fff fff&#xff0c;而使用strtoul就…

Web前端行业的机遇与自我规划,如果你对未来没有方向 不如看一看,或许就是一道曙光!

本篇是来自西安前端开发者分享社区的经验分享&#xff0c;给出前端工作人员在行业中的发展建议&#xff0c;如果我们没有目标时候 不妨看看别人是怎么做的&#xff01; 感谢西安前端开发者分享社区的分享&#xff01; 资源下载&#xff1a;来自示说网平台&#xff08;https://…

中职升高职c语言程序设计教程课后答案,中职C语言教学创新与实践论文

中职C语言教学创新与实践论文摘要&#xff1a;自主学习体现了以学生为中心、以人为本的教学思想&#xff0c;是一种行之有效的教学方法&#xff0c;但中职学生自主学习能力整体比较欠缺&#xff0c;学生怕学、厌学现象严重&#xff0c;给教师的教学带来一定的难度。文章以C语言…

cv岗工作做什么_职场速递:我应该做什么工作?

我曾经7年换过6份工作&#xff0c;转行3次&#xff0c;只是因为一直纠结于&#xff1a;到底什么才是我想要的工作。我和很多职场人一样&#xff0c;在“我想做的&#xff0c;我喜欢的”和“我能做的&#xff0c;能养活我的”选项之间迷惘过。大部分人提起自己工作的时候&#x…

用Java和Java 8创建内部DSL,采用Martin Fowler的方法

目前&#xff0c;我正在阅读Martin Fowler撰写的有关DSL- 特定于域的语言的精彩书籍。 围绕DSL的嗡嗡声&#xff0c;围绕轻松支持DSL创建的语言&#xff0c;以及DSL的使用使我好奇地了解和了解DSL的这一概念。 到目前为止&#xff0c;这本书的使用经验令人印象深刻。 马丁福勒…

【VSCode】Windows下VSCode便携式c/c++环境

http://blog.csdn.net/c_duoduo/article/details/52083494 Ver 1.1 完整版&#xff08;修复mingw环境变量错误&#xff09;下载&#xff1a; http://pan.baidu.com/s/1jIwZcUU 转载于:https://www.cnblogs.com/shiningrise/p/8401644.html

【校招面试 之 网络】第3题 HTTP请求行、请求头、请求体详解

1、HTTP请求报文解剖 HTTP请求报文由3部分组成&#xff08;请求行请求头请求体&#xff09;&#xff1a; 下面是一个实际的请求报文&#xff1a; ①是请求方法&#xff0c;GET和POST是最常见的HTTP方法&#xff0c;除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。不过&a…

奇妙的 CSS shapes(CSS图形)

CSS 发展到今天已经越来越强大了。其语法的日新月异&#xff0c;让很多以前完成不了的事情&#xff0c;现在可以非常轻松的做到。今天就向大家介绍几个比较新的强大的 CSS 功能&#xff1a; clip-pathshape-outside shape 的意思是图形&#xff0c;CSS shapes 也就是 CSS 图形…

c++ map 多线程同时更新值 崩溃_深入理解并发安全的 sync.Map

golang中内置了map关键字&#xff0c;但是它是非线程安全的。从go 1.9开始&#xff0c;标准库加入了sync.Map&#xff0c;提供用于并发安全的map。普通map的并发问题map的并发读写代码func main() { m : make(map[int]int) go func() { for { _ m[1] // 读 } }(…

CS Academy Round #65 Count Arrays (DP)

题目链接 Count Arrays 题意 给定$n$和$m$个区间。若一个长度为$n$的$01$序列满足对于每一个给定的区间中至少有一个位置是$0$&#xff0c; 那么这个$01$序列满足条件。求有多少满足条件的$01$序列。 设$f[i]$为考虑到第$i$位的时候&#xff0c;有多少满足条件的$01$序列。 则…

c语言中栈堆,C语言中堆和栈的区别

二.堆和栈的区别1.申请方式(1)栈(satck):由系统自动分配。例如&#xff0c;声明在函数中一个局部变量int b;系统自动在栈中为b开辟空间。(2)堆(heap):需程序员自己申请(调用malloc,realloc,calloc),并指明大小&#xff0c;并由程序员进行释放。容易产生memory leak.eg:char p;…

webview部分安卓机中文乱码

在开发过程中需要加载html片断&#xff0c;发现安卓机上是乱码&#xff0c;这可郁闷了&#xff0c;官方文档也没有这方面的介绍&#xff0c;还好度娘还好的&#xff0c;记录一下解决方案&#xff1a; 其实很简单&#xff0c;只在source对象中添一个属性baseUrl为空就可以解决&a…

MongoDB存储基础教程

一、MongoDB简介 1. mangodb是一种基于分布式、文件存储的非关系型数据库   2. C写的&#xff0c;性能高   3. 为web应用提供可扩展的高性能数据存储解决方案   4. 所支持的格式是json格式 二、MongoDB三元素&和关系型数据库的区别 三元素&#xff1a;数据库 集合(类…

Tomcat的带有守护程序和关闭挂钩的正常关闭

我的最后两个博客讨论了长时间轮询和Spring的DeferredResult技术&#xff0c;并且为了展示这些概念&#xff0c;我将我的Producer Consumer项目中的代码添加到了Web应用程序中。 尽管该代码演示了博客所提出的观点&#xff0c;但其逻辑上确实包含大量漏洞。 除了在实际的应用程…

java 递归从子节点删除父节点_LeetCode450. 删除二叉搜索树中的节点

删除一个二叉搜索树中的节点&#xff0c;需要进行情况的分类讨论&#xff0c;看一下将这个节点删除之后是否需要对二叉搜索树进行调整&#xff08;为了保持树的连接和维持二叉搜索树的性质&#xff09;。&#xff08;1&#xff09;如果删除的是一个叶子节点&#xff0c;那问题不…