Discuss / JavaScript / 四叶草

四叶草

Topic source

ApacheTomCat

#1 Created at ... [Delete] [Delete and Lock User]

window.alert('调用window.alert()'); // 把alert保存到另一个变量: var old_alert = window.alert; // 给alert赋一个新函数: window.alert = function () {}; alert('无法用alert()显示了!'); // 恢复alert: window.alert = old_alert; alert('又可以用alert()了!');

这句不会执行,是为什么啊?求教! alert('无法用alert()显示了!');

敏二不二

#2 Created at ... [Delete] [Delete and Lock User]

//我的理解是这样,通过以下这句,

window.alert = function () {};

//实际上alert函数已经被重写,并且因为函数体是空的,所以这个函数什么也没做,所以再调用alert的时候,没有弹出“无法用alert()显示了!”这句话是正确的。

Carmen晴鑫

#3 Created at ... [Delete] [Delete and Lock User]

改写后方法是 function alert(){ alert(...); } 其实是递归了,而且没有返回的,所以自然出问题了,可以在浏览器的控制台中运行看到结果是爆栈了

孙靖鹏sun

#4 Created at ... [Delete] [Delete and Lock User]

alert此时已经是其他函数


  • 1

Reply