¿Estas dos funciones hacen lo mismo entre bastidores? (en funciones de declaración única) var evaluate = function(string) { return eval('(' + string + ')'); } var func = function(string) { return (new Function( 'return (' + string + ')' )()); } console.log(evaluate('2 +