A-A+

无参数装饰器模式

2017年01月23日 JavaScript 暂无评论 阅读 64 次
// /无参数装饰器

function Fn(){
    this.name = '1'
}
function Gn(){
    this.name = '2'
}
function d(fn){
    fn.sayname = function(){
        return this.name;
    };
    return fn
}


var fn = new Fn();
var gn = new Gn();


fn = d(fn)
gn = d(gn)
//有参数装饰器
function Fn(){
    this.name = 'aaa'
}
function Gn(){
    this.name = 'bbb'
}
function da(arg){
    return function(fn){
        fn.age = arg;
        fn.sayname=function(){
            return this.name;
        }
        fn.sayage=function(){
            return this.age;
        }
        return fn
    }

}

var fn1 = new Fn();
fn1= da(20)(fn1);
标签:

给我留言

Copyright © web前端技术开发个人博客 保留所有权利  京ICP备14060653号 Theme  Ality

用户登录