禁用javascript中的内置函数(警报)

禁用javascript中的内置函数(警报),javascript,alert,overwrite,strict,Javascript,Alert,Overwrite,Strict,简单:我想禁用/覆盖alert() 我能做这个吗 更重要的是,这样做对吗 严格模式如何?是的,您可以禁用或覆盖警报()。不,这样做是不对的,除非是在一些奇怪和有限的情况下 禁用: window.alert = function() { }; 覆盖: window.alert = function(text) { /* do something */ }; 是的,你可以,这是你的选择。您还可以存储原始“警报”: window.nativeAlert = window.alert; windo

简单:我想禁用/覆盖
alert()

我能做这个吗

更重要的是,这样做对吗


严格模式如何?

是的,您可以禁用或覆盖
警报()。不,这样做是不对的,除非是在一些奇怪和有限的情况下

禁用:

window.alert = function() { }; 
覆盖:

window.alert = function(text) { /* do something */ };

是的,你可以,这是你的选择。您还可以存储原始“警报”:

window.nativeAlert = window.alert;
window.alert = function(val){console.log(val+' (alert disabled)');};

现在旧警报仍然可用:
nativeAlert('something')

为什么要禁用它?如果您想覆盖,就像您想让它显示html、样式和其他东西一样,您可以尝试使用javascript+overlay.com。事实上,使用
alert()
是没有用的。这让我和用户都很恼火。我想覆盖它,因为我使用的脚本包含它,我不想修改它(并跟踪该修改)。你测试过这个吗?它在IE中不起作用。它必须是IE中的
window.alert=…
。@Tim Down-注意第一个js语句右侧的
//注释
。我看到了它,但它读起来好像你把两个选项(
alert=…
window.alert=…
)表示为同样好,而它们不是。@Tim Down,我会重写的。为什么这样做不对呢?我完全不同意你的看法