Tun diese beiden Funktionen hinter den Kulissen dasselbe? (in Einzelanweisungsfunktionen)
var evaluate = function(string) {
return eval('(' + string + ')');
}
var func = function(string) {
return (new Function( 'return (' + string + ')' )());
}
console.log(evaluate('2 + 1'));
console.log(func('2 + 1'));
new
in dieser Diskussion berücksichtigt? Function
implizit instanziiert a function object
. Durch das Ausschließen new
wird der Code überhaupt nicht geändert. Hier ist eine jsfiddle, die das demonstriert: jsfiddle.net/PcfG8