2

我在网站上阅读了很多问题,但没有理解括号中的问题。

eval( '{a:alert(1)}'); //alert 1

还有这个警报 1:

eval( '('+'{a:alert(1)}'+')'); //alert 1

那么如何'()'帮助我呢?

我已经知道这()会使代码被读取为 epxression 而不是语句

但我没有在我的示例中看到它会有什么帮助。

你能提供一个样品吗?

4

1 回答 1

1

考虑:

eval("({a: 'my great object'}.a);");

eval("{a: 'my great object'}.a;");

如前所述:第二个是带有标签的代码块,因此 .a 根本没有任何意义。

于 2012-12-16T10:25:35.857 回答