世界上最伟大的投资就是投资自己的教育
知了知乐
id 14342
知了知乐 3 minutes 58 seconds 学徒 中学生
-
//nodejs中的一个工具库 const util = require('util'); //nodejs中的一个事件库 const events = require('events'); var someEvent=new events.EventEmitter(); someEvent.on('someEvent',function(name){ console.log(name); }) someEvent.emit("someEvent","代码运行自动触发事件"); //Person继承事件功能(采用的是Es6的写法) class Person extends events{ //定义的一个方法 writeName(data,name) { //this这里可以理解为就是Person对象 this.emit('click', data+" "+name); } //foreach中调用的 everyPersonName(name) { this.emit('click',name); } //名字的set和get方法 setName(name){ this.name=name; } getName(){ return this.name; } } const personOne=new Person(); personOne.setName("zhangsan"); const personTwo=new Person(); personTwo.setName("lisi"); var persons=[personOne,personTwo]; persons.forEach(function(person){ person.on('click',function(data){ console.log(person.getName()+" hi hi"); }) }) personOne.everyPersonName(personOne.getName()) personTwo.everyPersonName(personTwo.getName()) const myPerson=new Person(); //因为person这个对象继承的是events所以有on事件 //Es6语法,箭头函数(data)=>{} myPerson.on('click', (data) => { console.log(`${data}`); }); //传统语法function(){} myPerson.on('click',function(data){ console.log(data); }); myPerson.writeName("采用的是Es6的语法形式","zhangsan");
结果:
代码运行自动触发事件
zhangsan hi hi
lisi hi hi
采用的是 Es6 的语法形式 zhangsan
采用的是 Es6 的语法形式 zhangsan
© 汕尾市求知科技有限公司 | Rails365 Gitlab | Qiuzhi99 Gitlab | 知乎 | b 站 | 搜索
粤公网安备 44152102000088号 | 粤ICP备19038915号
Top