您的位置:首页 > 移动开发

JavaScript的apply和装饰器模式

2016-06-04 18:19 253 查看
在学习的时候

读到 http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014345005399057070809cfaa347dfb7207900cfd116fb000

其中这段


装饰器

利用
apply()
,我们还可以动态改变函数的行为。

JavaScript的所有对象都是动态的,即使内置的函数,我们也可以重新指向新的函数。

现在假定我们想统计一下代码一共调用了多少次
parseInt()
,可以把所有的调用都找出来,然后手动加上
count
+= 1
,不过这样做太傻了。最佳方案是用我们自己的函数替换掉默认的
parseInt()

var count = 0;
var oldParseInt = parseInt; // 保存原函数

window.parseInt = function () {
count += 1;
return oldParseInt.apply(null, arguments); // 调用原函数
};

// 测试:
parseInt('10');
parseInt('20');
parseInt('30');
count; // 3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js 装饰器