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面向切面编程

最新文章

  1. Fresco从配置到使用(最高效的图片加载框架)
  2. 自己写的一个SqlHelper,感觉使用起来挺方便的
  3. nginx 虚拟主机
  4. LUA实现单词替换功能
  5. atan函数与atan2函数
  6. 超实用PHP函数总结整理
  7. Jquery--string
  8. MySQL 查看表结构
  9. [IT] 关闭笔记本的蜂鸣提示
  10. 【转】eclipse android 设置及修改生成apk的签名文件 -- custom debug keystore
  11. [总结]RTMP流媒体技术零基础学习方法
  12. [PWA] 3. Devtool
  13. hdu 2032
  14. 【转载】视频编码(H264概述)
  15. logstash Codec
  16. UISegmentedControl——分段控件
  17. linux centos ubentu安装IPython四种方法
  18. Chris Richardson微服务翻译:微服务之事件驱动的数据管理
  19. JDBC【事务、元数据、改造JDBC工具类】
  20. 大数据 --&gt; Kafka集群搭建

热门文章

  1. OSPF中DR和BDR到底是谁先选举出来的?
  2. smf和mmf分别是什么?
  3. Netty 源码学习——服务端流程分析
  4. 利用dynamic解决匿名对象不能赋值的问题
  5. win查看所有wifi密码
  6. vue swiper上下无缝轮播
  7. angulatJs 前端数据分页展示——例
  8. utmp, wtmp - 登 录 记 录(login records)
  9. Laravel Class &#39;Doctrine\DBAL\Driver\PDOMySql\Driver&#39; not found
  10. quartz的使用(一)