0

我关于 JavaScript 中 eval() 函数的问题

  1. eval() 属于哪个对象?
  2. 我们知道所有的 java 脚本代码都有一个执行上下文。eval() 得到什么执行上下文?它是全局执行上下文吗?
  3. 为什么 eval() 被称为邪恶?是否有任何情况下 eval() 函数可以成为救生员?
4

1 回答 1

0
  1. 当您省略一个对象时,您实际上是在窗口对象上调用它。所以它window.eval,但由于它的默认值与全局范围相同。
  2. 评估范围很棘手。基本上是全局范围。
  3. eval 很邪恶,你允许用户执行任意代码。这是一件非常可怕的事情。尤其是当它有用户输入时,您不想使用 eval。任何恶意用户都可能真的给你带来麻烦。
于 2012-06-22T12:03:58.750 回答