您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

eval()和new Function()是同一件事吗?

eval()和new Function()是同一件事吗?

不,他们 一样。

考虑以下代码

function test1() {
    var a = 11;
    eval('(a = 22)');
    alert(a);            // alerts 22
}

如果new Function('return (a = 22);')()使用,则局部变量a将保留其值。但是,诸如Douglas Crockford之类的一些JavaScript程序员认为,除非绝对必要,否则都不应该使用它们,并且对不可信数据进行逃避/使用构造函数是不安全且不明智的。Function

其他 2022/1/1 18:14:52 有494人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶