为了账号安全,请及时绑定邮箱和手机立即绑定

nodejs 如何实现 php 的 __callStatic 魔术方法 ?

nodejs 如何实现 php 的 __callStatic 魔术方法 ?

牛魔王的故事 2019-02-14 22:19:57
nodejs 如何实现 php 的 __callStatic 魔术方法 ?或者说, 如何 如何使用 nodejs 实现 static 对 普通方法的呼叫 ?
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

可以尝试用Prixy来实现,但是需要调用代理后的对象而不是原类

(()=>{

    class Test{

        static staticMethod(){

            console.log(`this is staticMethod`);

        }

    }


    class Test2 extends Test{

        static staticMethod2(){

            console.log(`this is staticMethod2`);

        }

    }


    var P = new Proxy(Test, {

        apply: (target, that, args) => {

            console.log("apply", target, that, args);

        },

        get: (target, property, receiver) => {

            if(property in target){

                return target[property];

            }else{

                return Test2.staticMethod2;

            }

        }

    });

    P.staticMethod();

    P.staticMethod2();

})();


查看完整回答
反对 回复 2019-02-26
  • 1 回答
  • 0 关注
  • 570 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信