2016网易前端笔试附加题我的答案分享
var Event = {
on: function(eventName, callback){
//todo
if(!this[eventName])
this[eventName] = [];
this[eventName].push(callback);
},
emit: function(eventName){
//todo
if(this[eventName])
Array.prototype.forEach.call(this[eventName],
function(func){
func.call(this);
});
}
}
Event.on("one", function(){
console.log("go");
})
Event.on("one", function(){
console.log("gogo");
})
Event.emit("one");
var person1 = Object.assign({}, Event);
var person2 = Object.assign({}, Event);
person1.on("666", function(){
console.log("person1 666");
})
person2.on("777", function(){
console.log("person2 777");
})
person1.emit("666");
person1.emit("777");
person2.emit("777");
person2.emit("666");
#网易##前端工程师#