Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [JavaScript] funzioni create dinamicamente

    codice:
    <script type="text/javascript">
    function createFunctions(){
    	/* come faccio per assegnare un nome ad una funzione dinamicamente ? */
            //var nomefunzione = prompt("Inserisci il nome della funzione:","");
    	i=0;
    	var parametri = new Array();
    	while(1){
    		parametri[i] = prompt("Inserisci i parametri per terminare inserisci \" fine \":","");
    		if(parametri[i]=="fine") break; 
    		i++;
    		}
    	var corpo = prompt("Inserisci il corpo della funzione \" ; alla fine \":");
    	f = new Function(parametri,corpo);
    	var args = new Array();
    	for(var i=0;i<parametri.length-1;i++){
    		args[i] = parseInt(prompt("Inserisci valore parametro",""));
    		//f.arguments[i]=args[i];//come faccio a passare i valori dei paramtri ??? 
    		}
    	document.write("Risultato f("+args[0]);
    	for(var j=1;j<parametri.length-1;j++)
    		document.write(","+args[j]);
    	document.write(") = ");
    	document.write(f(parseInt(args)));//come faccio a passare i valori ??? 
    }
    </script>
    se inserisco:
    a premo OK
    b premo OK
    return a*b; premo OK
    12 premo OK
    2 premo OK
    output = Risultato f(12,2) = NaN // ???

  2. #2
    Lo script è relativo a 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.

    sto procedendo correttamente?
    mi potreste dare una soluzione?

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    grazie ho già letto molte guide... ma non riesco a capire come procedere...

  5. #5
    ...lo script funziona !!! il problema sta nel while, all'uscita (quando si inserisce fine) mi alloca una oggetto in più nell'array, se insersco solo due argomenti parametri.length==3 ???
    come faccio a non fare allocare un nuovo oggetto all'uscita del while?


  6. #6
    ... mi sbagliavo non è nemmeno il while.. sto ammattendo !!!

    se inserisco:
    a
    fine
    return a*a;
    2

    come output ho:
    Risultato f(2) = 4 //tutto ok!
    ma se inserisco:
    a
    b
    return a+b;
    2
    2
    come output ho:
    Risultato f(2,2) = 2,2undefined

    c'è qualcuno che mi sappia dare una risposta a quell'esercizio?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.