Видел вариант создания функции с помощью new Function, немного не понимаю для чего его используют, в каких случаях?
Этот способ используют для создания полной функции с места, вот пример:
var addition = new Function('a,b', 'return a b;');
var subscription = new Function('a,b', 'return a-b;');
var division = new Function('a,b', 'return a/b;');
var multyplication = new Function('a,b', 'return a*b;');
var result = addition(4, 7);
alert( result ); // 11
result = subscription(16, 8);
alert(result); // 8
result = division(result,4);
alert(result); // 2
result = multyplication(result,5);
alert(result); // 10
В этом примере мы создаем функции с места, когда мы используем new Function мы должны передать в конструктор два строковых значения, первое значение это список параметров которые должны быть у функции, второе значение это само содержимое функции, которое должно быть предствалено в виде строки.
С помощью данного способа создания функции можно создавать функцию, код который изначально, на момент когда пишется программа не известен, просто передав затем код и параметры строкой.