Что делает new Function в JavaScript?

Видел вариант создания функции с помощью 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 мы должны передать в конструктор два строковых значения, первое значение это список параметров которые должны быть у функции, второе значение это само содержимое функции, которое должно быть предствалено в виде строки.

С помощью данного способа создания функции можно создавать функцию, код который изначально, на момент когда пишется программа не известен, просто передав затем код и параметры строкой.