0

请参考代码,

javascript:x=123;void();

所以当你在url中输入时,浏览器不会替换页面的内容,这是一个预期的结果。无论如何,由于js逐行执行语句,当第一个语句被执行时,浏览器应该立即替换内容,然后继续下一步不是吗?谁能解释一下js是如何执行url中的语句以及将void关键字放在最后是如何工作的。我只需要这些问题的帮助。将var x替换为未定义的值。

4

1 回答 1

1

这是因为,当内联使用时,浏览器会将页面内容替换为最后一个 JavaScript 语句的返回值,除非它是undefined.

运算符的值void恰好是undefined,这就是没有内容替换的原因。实际上,您也可以这样编写代码:

javascript:void(x=123);

也可以看看:void

于 2013-02-23T15:36:55.163 回答