世界上最伟大的投资就是投资自己的教育

全场限时 5 折

知了知乐


id 14342


知了知乐 3 minutes 58 seconds 学徒 中学生


  • 轻松学 Node.js - 基础篇免费视频教程 #5 事件
    //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号粤公网安备 44152102000088号 | 粤ICP备19038915号

Top