前端常用的库和实用技术之JavaScript面向切面编程

Aspect Oriented Programming(AOP)面向切面编程是一个比较热门的话题。
AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程
中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        function test(){
            // var start = 
            alert(2);
            return 'me test'
            // var end=;
            // console.log(end-start);
        }
        Function.prototype.before = function(fn){
            var _self = this;
          return function(){
            //   this指向了调用的函数
           if(fn.apply(this,arguments)==false){
                return false;
           }
           return  _self.apply(_self,arguments)
            
          }
           
        }
        Function.prototype.after = function(fn){
            // after先执行本身this,再执行回调
            var _self = this;
           return function(){
           var result = _self.apply(_self,arguments);
           if(result == false){
               return false;
           }
            fn.apply(this.arguments);
            return result;
           }
        }
        // test.before(function(){
        //     alert(1);
        // });
        // test.after(function(){
        //     alert(3);
        // })
        test.after(function(){
            alert(3);
            // return false;
        }).before(function(){
            alert(1);
            // return false;
        })();
        // 统计一下当前的所有的函数谁耗时最长
    </script>
</body>
</html>

by没有看懂,压根不懂
本文看自前端常用的库和实用技术之JavaScript面向切面编程

转载于:https://www.cnblogs.com/smart-girl/p/11549767.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值