1. 程式人生 > >Js 方法裝飾器

Js 方法裝飾器

利用apply(),我們還可以動態改變函式的行為。

JavaScript的所有物件都是動態的,即使內建的函式,我們也可以重新指向新的函式。

現在假定我們想統計一下程式碼一共呼叫了多少次parseInt(),可以把所有的呼叫都找出來,然後手動加上count += 1,不過這樣做太傻了。最佳方案是用我們自己的函式替換掉預設的parseInt()

'use strict';

var count = 0;
var oldParseInt = parseInt; // 儲存原函式

window.parseInt = function () {
    count += 1;
    return oldParseInt.apply(null, arguments); // 呼叫原函式
};