JavaScript 装饰器 - 函数增强
2019-07-29 本文已影响0人
52JackWang
-
JavaScript的所有对象都是动态的,内置函数可以重新指向新函数。
-
例如想统计一段代码共调用多少次parseInt(),可以把所有的调用都找出来,然后手动加上count += 1,不过这样做太傻了。
-
最佳方案是用 重载函数 覆盖掉 默认函数:
'use strict'; var count = 0; var oldParseInt = parseInt; // 保存原函数 window.parseInt = function () { count += 1; return oldParseInt.apply(null, arguments); // 调用原函数 }; // 测试: parseInt('10'); parseInt('20'); parseInt('30'); console.log('count = ' + count); // 输出3