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

    Dubbio su oggetto Function

    Allora la sintassi e' questa giusto?
    var funpro =new Function("x","y",return(x+y));

    se io dovessi creare questa funzione senza sapere a priori il numero e il nome delle variabili come potrei fare?

    Mi spiego meglio avrei intenzione di fare un programma che chiede numero variabili poi nome variabili e comando della funzione che verra' creata... poi dovrei eseguire la funzione chiedendo sempre all'utente il valore delle varie variabili e stampare a video il risultato

    grazie
    ciao

    io ho provato a fare una cosa del genere ma non funziona... io ho provato cosi'
    variabili = " 'x','y' ";
    comando = "return(x+y)";
    var funpro =new Function(variabili,comando);

  2. #2
    Ok ho risolto posto il codice ora funzionante in caso possa essere utile a qualcuno.
    E cosi' magari gli date un occhiata e mi dite se e' realizzato in maniera decente o se c'e' un modo migliore per realizzarlo.
    ciao a tutti
    Codice PHP:
    <html>
    <
    head>
    <
    script type="text/javascript">
    <!--
    /*
    Autore: Davide
    Testo dell'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", ...)

    */


    document.write("Prova con oggetto function
    "
    );


    //Aquisisco il numero e il nome delle variabili
    nvar=prompt("numero variabili");
    nomevar="0";

        while(
    nvar>0)
        {
        if(
    nomevar=="0")nomevar="\""+prompt("Nome della variabile")+"\"";
        else 
    nomevar=nomevar+",\""+prompt("Nome della variabile")+"\"";
        
    nvar--;
        }

    //Aquisisco il corpo della funzione quello che deve fare
    corpo=prompt("Corpo della funzione");
    corpo="return("+corpo+")";


    //Creo la funzione
    appoggio="var funpro=new Function("+nomevar+","+"\""+corpo+"\""+")";
    eval(
    appoggio);

    //Salvo le variabili ogniuna in una posizione in un array e calcolo il numero di variabili           
    var varia=nomevar.split(",");
    var 
    i=varia.length;

    var 
    appo="0";
    var 
    j=0;
        
    //Ciclo dove aquisisco il valore delle variabili
        
    while(j<i)
        {
        if(
    appo=="0")appo=prompt("valore "+varia[j]);
        else 
    appo=appo+","+prompt("valore "+varia[j]);
        
    j++;
        }

    //Qui eseguo la funzione passandogli i parametri aquistiti e stampo il risultato...
    appo="funpro("+appo+")";
    document.write(eval(appo));

    // -->

    </script>

    </head>

    <body></body>


    </html> 

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.