eval()函数

求f( )的结果?   答案:1(全局的)



用一个例子来说明下:

如果间接的使用 eval(), 即:通过一个引用来调用eval而不是直接的调用eval。  从ECMAScript 5起它工作在全局作用域而不是局部作用域中
上题中把var e = eval;相当于把e = window.eval,这时e是全局作用域上的,执行的时候回去寻找全局域上的a,所以结果是1。
如果不赋值,直接使用eval('console.log(a)'), 它默认是在本地函数作用域进行,所以是2。

eval()函数的作用:eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。


猜你喜欢

转载自blog.csdn.net/miss_liangrm/article/details/80643038