Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460

    Javascript: parametro opzionale con valore di default

    Ciao a tutti, vorrei sapere in ECMAScript/Javascript come si fa a fare in modo che un parametro sia opzionale, con un valore di default.

    Per chiarezza, vi espongo cosa intendo sia in php che in java:

    Codice PHP:
    function logaritmo($argomento$base 10) {
        
    // calcola il logaritmo nella base richiesta, con base di default 10 se non viene specificata.

    Java:
    codice:
    public double logaritmo(double argomento, double base) {
        // calcola il logaritmo nella base richiesta
    }
    
    public double logaritmo(double argomento) {
        return logaritmo(argomento, 10);
    }
    In JS, essendo di scripting, mi aspetto qualcosa tipo il PHP.. ma come e' esattamente la sintassi?

    Grazie in anticipo.
    There are 10 types of people in the world - those who understand binary and those who don't.

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao frinkia,

    ti fccio un esempio in javascript
    codice:
    function esempio(parametro1, parametro2){
      if(parametro2==null)parametro2='valore default'
      alert('primo parametro: '+parametro1+'\nsecondo parametro: '+parametro2);
    }

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
    function logaritmo(argomento, base) {
       base = base || 10;
    }
    Vuoi aiutare la riforestazione responsabile?

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

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    Quindi se io ho:

    function funzione(par1, par2)

    e da fuori chiamo funzione(par1) non e' un errore, ma semplicemente par2 arriva null?

    Perche' PHP genera warnings, mentre java non compila
    There are 10 types of people in the world - those who understand binary and those who don't.

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    esatto, i parametri puoi anche non passarli o passarne in più, versatile questo javascript

    ah, la soluzione di fcaldera è molto più elegante

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    17
    forse puoi anche usare la proprieta' "arguments" come segue:

    function logaritmo(argomento) {
    var base=(typeof logaritmo.arguments[1] == 'undefined')?10:logaritmo.arguments[1];
    }


    In pratica "arguments" contiene tutti i parametri passati alla funzione. Considerando che "logaritmo.arguments[0]" sara' uguale al valore di "argomento", "base" assumera' il valore di "logaritmo.arguments[1]".

    Eventuali altri parametri andranno a popolare logaritmo.arguments[i] con i=2,3,...

    Il numero di parametri passati puo' essere recuperato con:

    logaritmo.arguments.length

    Ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    17
    forse puoi anche usare la proprieta' "arguments" come segue:

    function logaritmo(argomento) {
    var base=(typeof logaritmo.arguments[1] == 'undefined')?10:logaritmo.arguments[1];
    }


    In pratica "arguments" contiene tutti i parametri passati alla funzione. Considerando che "logaritmo.arguments[0]" sara' uguale al valore di "argomento", "base" assumera' il valore di "logaritmo.arguments[1]".

    Eventuali altri parametri andranno a popolare logaritmo.arguments[i] con i=2,3,...

    Il numero di parametri passati puo' essere recuperato con:

    logaritmo.arguments.length

    Ciao

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.