javascript 中警报的用法是什么?

what is this usage of alert in javascript?

这是一段xss代码:

<img src=x onerror="javascript:window.onerror=alert;throw 1">

这里我看不懂alert的用法。为什么 alert 后不需要括号?而且我无法理解浏览器的行为。浏览器会弹出一个框并显示Uncaught 1。看起来浏览器首先弹出一个警告框,然后将异常字符串填入框内。但是,我不太确定这是怎么发生的。顺便说一句,我在 chrome.

中对此进行了测试

window.onerror本身就是一个函数。你可以把它说成一个函数名或更好的名字,函数参考。 alert也是函数名,可以作为函数参考调用。

因此,他们正在将 onerror 映射到 alert,即,当 onerror 事件发生时,会有一个警报。

window.onerror 是事件处理程序,alert 是提醒任何发送到参数的东西,现在 onerror 事件处理程序将事件信息发送到 alert 是的,当发生错误时,您会知道错误是什么。

有关 window.onerror 的参数和工作的更多信息。它们的语法是:

window.onerror = funcRef;

其中funcRef指的是alert()