Salve, devo fare questo esercizio: "Scrivere uno script che, usando il costruttore Function(), crei delle funzioni dinamicamente. Lo script deve chiedere all'utente il numero di parametri della funzione, il nome dei parametri ed il corpo della funzione. Dopo aver creato la funzione, lo script deve chiedere all'utente di dare in input dei valori per i parametri della funzione appena creata e deve restituire in output il suo valore. (Come corpo della funzione, usate solo funzioni semplici tipo "x+y", "x*y+z", ...)".
Il mio script è questo:
"n = parseInt(prompt("Inserire il numero del parametri",""));
var parametri = new Array();
for(i=0;i<n;i++) {
parametri[i] = prompt("Inserire il nome del "+ (i+1) +" parametro","");
}
corpo = prompt("Inserire il corpo della funzione","");
var f = new Function(parametri,corpo);
var valori = new Array();
for(i=0;i<n;i++) {
valori[i] = parseFloat(prompt("Inserisci il valore del "+ (i+1) +" parametro",""));
}
document.write(f(valori));".
La funzione me la crea, ma quando vado a inserire i valori 3 e 4, mi dà "3,4undefined". Potete aiutarmi? Grazie mille a tutti![]()
Ps: la funzione che creo è f = new function("a","b","return a+b;");