javascript - 邪恶的评估+括号样本?

标签 javascript eval

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

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

还有这个警报 1:

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

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

我已经知道 () 使代码被读取为表达式而不是语句

但我在我的样本中看不到它有什么帮助。

能否请您提供 sample ?

最佳答案

考虑:

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

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

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

关于javascript - 邪恶的评估+括号样本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13900060/

相关文章:

javascript - 如何创建一个新对象,并将其父类(super class)型的名称分配给变量?

javascript - 如何用javascript返回随机显示功能效果

ruby - 将参数传递给 Ruby 中的包含模块?

javascript - jasmine getFixtures 不是函数

javascript - Google map API 标记不显示

javascript - 如何使用 ui-router 将静态登陆页面与其自己的设计集成到根路由

javascript - Babel 7 - 引用错误 : regeneratorRuntime is not defined

java - 在 Eval () 中执行 toString() - Groovy(Gstring 中的方法调用)

php - 在 PHP 中,有没有一种方法可以在不使用输出缓冲的情况下将 PHP 文件的输出捕获到变量中?

javascript - 调用本地注册组件 VueJs 的父方法