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