AOP 动态添加函数
2024-09-04 22:21:06
Function.prototype.before = function(beforefn) { // 保存原函数的引用 var self = this; // 返回包含了原函数和新函数的代理函数 return function() { // 执行新函数,修正this beforefn.apply(this, arguments); // 执行原函数 return self.apply(this, arguments); }; }; Function.prototype.after = function (afterfn) { var self = this; return function () { // 先调用 调用的函数,在调用afterfn // 调用这个函数的也是一个函数 var ret = self.apply(this, arguments); afterfn.apply(this, arguments); return ret; }; }; var func = function () { console.log(2); }; // 每次使用之前都要这么写一遍 function init(fn) { fn = fn.before(function () { console.log(1); }) .after(function () { console.log(3); }); return fn; } func = init(func); func();
最新文章
- 分段二次插值——用Python进行数值计算
- Gradle 刷新依赖
- web前端基础知识 Dom
- UVA12034Race(DP)
- PoEdu - C++阶段班- Lesson07 To Lesson10_C to C++
- 完整java开发中JDBC连接数据库代码和步骤 JDBC连接数据库
- NeHe OpenGL教程 第四十二课:多重视口
- (笔记)angular 包含关系的controller参数传递
- NIO和IO(转)
- Code Blocks 多文件联合编译
- TypeScript设计模式之门面、适配器
- js解析器(重要!)
- loadrunner整体压测执行操作步骤
- 测试浏览器对HTML5标签的支持
- Keras实现风格迁移
- 达梦数据库DM7小结
- NGINX配置详解及应用
- Tomcat的URL中文乱码解决以及传输优化
- zabbix-agent 自动注册
- 构建搞性能可扩展asp.net网站文摘
热门文章
- [转] 经典排序算法 - 基数排序Radix sort
- [React] Refactor a Stateful List Component to a Functional Component with React PowerPlug
- Java数据结构-线性表之单链表LinkedList
- LeetCode 之 Merge Sorted Array(排序)
- Android学习路线(十二)Activity生命周期——启动一个Activity
- Java常用知识(长期更新)
- spark scala word2vec 和多层分类感知器在情感分析中的实际应用
- [GDKOI2010] 圈地计划(网络流)
- VMware Workstation pro14 虚拟机下安装CentOS6.8图文教程
- mysql读写分离的解决方案