我想为window.confirm实现一个自定义函数,所以我不必重写大量遗留代码,但如果出现问题,或者依赖于某些内容,可以回退到原始函数任意逻辑。
快速存根代码,例如(可能不会这样做,但只是为了一个想法):
window.confirm = function(message, successCallback){
var ok = site.UI.confirmDialog(message);
if (ok && typeof(successCallback) == 'function'){
successCallback();
} else {
// maybe call original browser confirm?
// window.confirmOriginal...?
}
}
这里的问题是,如果我覆盖它,如何获得原始功能?它存在于原型的某个地方,还是我看错了?
感谢。
答案 0 :(得分:4)
var origConfirm = window.confirm; //store for future use
window.confirm = function(msg){ //override
alert(msg);
}
window.confirm('override!'); //should now be an alert
origConfirm('old confirm'); //the old confirm