Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подстановка новой формулы в функцию из строки (https://javascript.ru/forum/misc/60867-podstanovka-novojj-formuly-v-funkciyu-iz-stroki.html)

Cubbat 24.01.2016 20:35

Подстановка новой формулы в функцию из строки
 
У меня есть функция:
function func(x) {
	return (x-1)*(x+2)*(x-3);
}

Как сделать так чтобы строка, например: "(x+2)*(x-5)", заданная изначально, как-то подставлялась в эту функцию после return? И чтобы потом при обращении к функции расчет производился уже по новой формуле? Помогите, пожалуйста(

Keramet 24.01.2016 21:17

переопредели функцию внутри себя:
function func(x) {
    func = function(x) {return  (x+2)*(x-5)};
    return (x-1)*(x+2)*(x-3);
}

после первого вызова func вернёт (x-1)*(x+2)*(x-3). А потом при обращении будет возвращать (x+2)*(x-5).

рони 24.01.2016 21:18

Cubbat,
:-?
function func(x, b) {
    return Function('x', 'return '+ b)(x);
}

alert(func(2, 'x+x'));


Часовой пояс GMT +3, время: 05:27.