首页 > 编程语言 >AOP 面向切面编程 All In One

AOP 面向切面编程 All In One

时间:2023-03-06 23:23:01浏览次数:36  
标签:function __ return self 编程 切面 AOP apply arguments

AOP 面向切面编程 All In One

Aspect-Oriented Programming / 面向切面编程

demos

// @decorator 修饰器/装饰器


Function.prototype.before = function( beforefn ){
    var __self = this; // 保存原函数的引用
    return function(){ // 返回包含了原函数和新函数的"代理"函数
        beforefn.apply( this, arguments ); // 执行新函数,修正this
        return __self.apply( this, arguments ); // 执行原函数
    }
}


Function.prototype.after = function( afterfn ){
    var __self = this;
    return function(){
        var ret = __self.apply( this, arguments );
        afterfn.apply( this, arguments );
        return ret;
    }
}

Function.prototype.around = function(beforefun,afterfun){
    let __self = this
    return function(){
        return __self.before(beforefun).after(afterfun).apply(this,arguments)
    }
}


var func = function(){
    console.log( 2 );
};

func = func.before(function(){
    console.log( 1 );
}).after(function(){
    console.log( 3 );
});

func();

(

标签:function,__,return,self,编程,切面,AOP,apply,arguments
From: https://www.cnblogs.com/xgqfrms/p/17185917.html

相关文章

  • 实验1 C语言开发环境使用和编程初体验
    1.实验任务11)#include<stdio.h>intmain(){printf("o\n");printf("<H>\n");printf("II\n");printf("o\n");printf("<H>\n");prin......
  • 6_网络编程
    网络编程面试题1.计算机网络的各层协议及作用?OSI七层模型:大而全,但是比较复杂、而且是先有了理论模型,没有实际应用。TCP/IP四层模型:是由实际应用发展总结出来的,从实质......
  • 网络编程 续
    UDP编程步骤发送端1、创建一个DatagramSocket2、准备发送的数据,并且打包DatagramPacket要指定:发送的数据,长度,接收方的IP,接收方的......
  • 网络编程
    网络编程网络编程的三个要素1、IP地址或主机名InetAddressString:192.168.24.71每一个整数是1~255域名:www.baidu.com通过域名解析器,找对对应的ip......
  • 函数编程:强大的 Stream API
    函数编程:强大的StreamAPI每博一文案只要有人的地方,世界就不会是冰冷的,我们可以平凡,但绝对不可以平庸。——————《......
  • 写 Python 代码不可不知的函数式编程技术
    把函数作为对象由于其他数据类型(如string、list和int)都是对象,那么函数也是Python中的对象。我们来看示例函数foo,它将自己的名称打印出来:deffoo():print("foo......
  • 函数式编程:Lambda 表达式
    函数式编程:Lambda表达式每博一文案曾经读过的依然令我感动的句子,生活总是不如意,但往往是在无数痛苦中,但往往是在无数痛苦中,在重重矛盾和艰难中才能成熟起来,坚强起来,爱......
  • 如果今天没有API接口,今天的程序员如何编程?
    这是一个非常有意思的问题,作为一名从业多年的程序员,我来回答一下这个问题。首先,接口是程序设计过程中最为常见的元素,不论是研发级程序员还是应用级程序员,在日常的编程过程中......
  • 你也能成为“黑客”高手——趣谈Linux Shell编程语言
    作者:京东零售杜兴文我们看过很多在电脑命令行敲一些命令并给观众展示很高科技的画面感的电影,比如《盗梦空间》《操作系统革命》《代码》等等,再想想电影黑客帝国中的画面......
  • 序章 高质量C++/C编程指南
    一、文件结构避免头文件被重复引用,用#pragmaonce进行预处理用<>引用标注库头文件,用""引用自定义库头文件C语言头文件只进行函数声明,不进行函数定义;C++类的成员......