0
我试图在Chrome中克隆函数indexedDB.cmp
,然后用新函数替换indexedDB.cmp
。新函数使用console.log
记录传递的参数,然后使用apply
调用克隆的函数。但是,当我使用apply
时,我总是收到错误“非法调用”。我只需要在Google Chrome上工作即可。任何帮助,将不胜感激!Javascript - 在克隆的本地函数上调用“apply”时出错
function init() {
var i = indexedDB;
i.cmp2 = i.cmp.bind({});
i.cmp = function(...a) {
console.log("CMP call!",a);
return i.cmp2.apply(null,a);
};
}
init();
indexedDB.cmp("/testFolder",3);
既然你已经在使用扩展语法,为什么不用apply来调用函数呢? –
谢谢!我将'i.cmp.bind({})'改为'i.cmp.bind(i)',尝试了你的建议,并且它工作正常! –