function hook(object, attr) { var func = object[attr] object[attr] = function () { console.log('hooked', object, attr) var ret = func.apply(object, arguments) debugger return ret } } hook(window, 'btoa') const form = { username: "admin", password: "admin" } const a = window['btoa'].apply(JSON.stringify(form)) console.log(a)