欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js发布/订阅模式代码教程

程序员文章站 2022-06-30 09:29:58
直接上代码 js代码test.js var xevent=(function(){ function xevent(){ this._event...

直接上代码

js代码test.js

var xevent=(function(){
    function xevent(){
        this._events={};
    }
    xevent.prototype={
        emit:function(name,obj){
            if(name in this._events){
                for(var i=0;i

测试代码test.html



<script src="./test.js">
    </script><script>
        var event=new xevent();
        var test0=function(res){
            console.info('test0-----监听',res);
        };

        var test1=function(res){
            console.info('test1-----监听',res);
        };

        console.info('test0--------------------------start');
        event.on('test0',test0);

        event.emit('test0',{
            code:0,
            msg:'test0---0',
            data:null
        });

        console.info('test1-------------------移除监听测试');
        event.on('test1',test1);
        event.remove('test1');                              
        event.emit('test1',{
            code:1,
            msg:'test1---1',
            data:null
        });
    </script>[name].length;i++){>

测试结果

test0--------------------------start
test.html:15 test0-----监听 {code: 0, msg: "test0---0", data: null}
test.html:31 test1-------------------移除监听测试
[name].length;i++){>