Introduce event module and tool module:
var events = require('events')
var util = require('util')
Person constructor:
var Person = function (name) {
this.name = name
}
Person inherits the event listener object of events:
util.inherits(Person, events.EventEmitter)
Create two test objects and place them in the array:
var xiaoming = new Person('xiaoming')
var zhangshan = new Person('zhangshan')
var human = [xiaoming, zhangshan]
Let each object add a'speak' event and pass in parameters:
human.forEach(function (someperson) {
someperson.on('speak', function (word) {
console.log(someperson.name, word)
})
})
When the'speak' event occurs, the function is triggered; here we manually trigger the speak event:
xiaoming.emit('speak', 'nihao')
zhangshan.emit('speak', 'laji')
Test Results:
Overall code:
var events = require('events')
var util = require('util')
var Person = function (name) {
this.name = name
}
util.inherits(Person, events.EventEmitter)
var xiaoming = new Person('xiaoming')
var zhangshan = new Person('zhangshan')
var human = [xiaoming, zhangshan]
human.forEach(function (someperson) {
someperson.on('speak', function (word) {
console.log(someperson.name, word)
})
})
xiaoming.emit('speak', 'nihao')
zhangshan.emit('speak', 'laji')