其实事件的发送与接收机制很简单,只是没有去思考而已
在node模块中使用的就会比较的多
如
var events=require('events'); var eventEmitter=new events.EventEmitter(); eventEmitter.on('say',function(name){ console.log('Hello',name); }) eventEmitter.emit('say','Jony yu');
在vue中也父子组件的传递也采用了事件的发送与接收,emit和on来制作
那么接下来我们来看一看吧
function myEvent() { this.on = function() { if (!this.handles) { this.handles = {}; } if (!this.handles[eventName]) { this.handles[eventName] = []; } this.handles[eventName].push(callBack); } this.emit = function() { if (this.handles[eventName]) { for (var i = 0; o < this.handles[eventName].length; i++) { this.handles[eventName][i](obj); } } } return this; }
测试一下
var event1=new Events(); var event2=new Events(); event1.on('say',function(){ console.log('Jony event1'); }); event2.on('say',function(){ console.log('Jony event2'); }) event1.emit('say'); event2.emit('say'); //event1、event2之间的事件监听互相不影响 //输出结果为'Jony event1' 'Jony event2'这就是事件发送与接收的机制。
以上就是javascript事件接收与发送机制理解(代码示例)的详细内容,更多请关注php中文网其它相关文章!
网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。
……