• es6 语法 (Decorator)


    修饰器是一个函数,用来修改类的行为(注意:1、函数  2、修改行为  3、对类进行操作)

    {
    //修饰器函数定义 target:类本身,name名称,descriptor描述 let readonly = function(target, name, descriptor) { descriptor.writable = false; //只读 return descriptor }; //类中 class Test { @readonly //调用修饰器 time() { return '2017-03-11' } } let test = new Test(); // test.time=function(){ // console.log('reset time'); // }; //不允许只读属性的方法重新赋值 console.log(test.time()); //2017-03-11 } { let typename = function(target, name, descriptor) { target.myname = 'hello'; } //对类进行修饰 @typename class Test { } console.log('类修饰符', Test.myname); //hello // 第三方库修饰器的js库:core-decorators; npm install core-decorators } { let log = (type) =>{ return function(target,name,descriptor){ let src_method = descriptor.value; descriptor.value = (...arg)=>{ src_method.apply(target,arg); console.info(`log ${type}`); } } } class AD{ @log('show') //log show show(){ console.log('ad is show') //ad is show } @log('click') //log click click(){ console.log('ad is click') //ad is click } } let ad = new AD(); ad.show(); ad.click(); }
  • 相关阅读:
    4.状态简览
    3.获取git仓库
    2.获取帮助
    1.初次运行git前的配置
    linux命令总结
    使用github参与到开源项目的维护
    mongodb远程连接
    springmvc/springboot处理前台字符串日期自动转换成后台date类型的三种办法
    事务明明配置没有问题,出错时却不执行回滚
    tmux 安装
  • 原文地址:https://www.cnblogs.com/Byme/p/7766049.html
Copyright © 2020-2023  润新知