javascript中到底是什么(alert(1),“”)

问题描述 投票:1回答:2

我尝试过执行Google gruyeres XSS挑战(http://google-gruyere.appspot.com/part2,并且在存储的AJAX XSS挑战中,他们具有JSON响应的以下代码部分:

all <span style=display:none>"
+ (alert(1),"")
+ "</span>your base

有趣的部分是:(alert(1),"")

根据提供的解决方案,将返回空字符串。根据我的测试,alert(1)仍然被执行。

这是某种函数的缩写,还是在JS中称为什么?为什么执行警报,然后返回空字符串?

非常感谢您的帮助!

最好的问候,罗尔夫

javascript ajax xss
2个回答
0
投票

这是comma operator。代码执行alert(1),丢弃其返回值,然后求值"",该值在JavaScript中为falsy。由于这是表达式中的最后一项,因此将返回其值。

我链接的教程描述如下:

JavaScript中的逗号运算符将评估其每个操作数。它返回最后一个操作数的值。使用逗号运算符添加多个表达式。

© www.soinside.com 2019 - 2024. All rights reserved.