为什么将eval赋值给一个变量以后它就当作window下的方法来用了?

发布于 2022-09-03 11:30:19 字数 267 浏览 11 评论 0

eval 既是javascript中的关键字,又是window下面的一个方法
作为关键字的时候eval只能在局部解析字符串,而当通过window调用的时候则可以将其解析为全局变量

function aaa(){
    var  val = eval;
    val("  var a = 1  ");
}
aaa( );
alert( a );    //1

为什么此时的val= window.eval()????

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小ぇ时光︴ 2022-09-10 11:30:19

eval不建议使用!
eval 和 window.eval 的关系,你可以自己试试:

eval === window.eval
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文