• User Attivo

    come funzionano le funzioni in javascript ?

    🙂 scusate il gioco di parole nell'oggetto, ma da sempre ho maneggiato funzioni nei vari linguaggi come ASP;PHP;VBScript;etc..... e da quel che sò:
    Una funzione definita può avere dei parametri e quindi può essere richiamata all'occorrenza .... ora però da un pò di settimane mi sono imbattuto in librerie create in javascript dove l'uso delle funzioni mi sembra un pò strano :mmm:
    Cioè vedo chiamate a funzioni con parametri ... dove il parametro viene subito utilizzato :():
    ♀Funzione PHP♀

    // la dichiaro
    function tritaCapperi ($capperi_da_tritare)
    {
    $x =($capperi_da_tritare/34);
    return $x;
    }
    // la uso
    $frittata = tritaCapperi($valore);

    :():Funzione javascript:():

    // la dichiaro ... e la uso al tempo stesso ?!?!?! :mmm:
    x: function(v)
    {
    if(v!=0){return '? ' + v;}
    }

    ... spero di essermi spiegato in maniera decente 😉

    grazie a tutti


  • User Attivo

    non necessariamente, anche in javascript per farle funzionare le devi richiamare:

    
    <script>
    function conta(i)
    {
         alert(i);
    }
    
    conta('1');
    </script>
    <a href="javascript: conta('2');">Conta</a>
    
    

    a volte invece per associare la funzione ad un evento la si dichiara come hai messo tu:

    
    <script>
    i=0;
    document.onclick = function(){ i = i+1; alert(i); }
    </script>
    
    

    forse non ho capito quello che intendevi però!


  • User Attivo

    Ciao allora mi spiego meglio sono stato un pò vago, la mia domanda nasce da quando ho cominciato a utilizzare una libreria fatta completamente in javascript (si chiama EXT JS) dove molte funzioni danno per scontato il ricevimento di variabili tramite altre funzioni ... esempio:

    Nela caso mio trattando una griglia e compilando lo stile delle colonne di quest'ultima mi son ritrovato a leggere una variabile in questa maniera (un pò anonima)

    
    .
    .
    ,{
            header: 'Costa...',
            dataIndex: 'Tce_Desc',
            width: 100,
            readOnly: false
          },{
    		header: 'Costa...',
    		dataIndex: 'Eve_Prezzo',
    		width: 80,
    		renderer: **function(v){ if(v!=0){return '? ' + v;} },**
    		editor: new Ext.form.NumberField({
    				  allowBlank: false,
    				  allowDecimals: true,
    				  allowNegative: false,
    				  blankText: '0',
    				  maxLength: 11
    				}),
    

    la riga in 'neretto' è quella che mi ha lasciato sbalordito !!!!
    Praticamente la riga renderer: stabilisce come verrà mostrato l'output nella griglia, trattandosi di valuta, con una condizione se il valore è diverso da zero gli accosto il simbolino dell'euro ....
    Ma quello che mi chiedo io .... è .... come faccio a capire che quella funzione mi torna la variabile -v- :(): la indovino ? Sembra cadere dal cielo quella variabile :mmm:

    grazie 🙂


  • User Attivo

    Sicuramente da qualche parte viene specificato la variabile v. Può essere in un altro funzione oppure nel body, in un form, praticamente ovunque. Vedi p.es. ww.w3schools.com/js/tryit.asp?filename=tryjs_function_return