Visualizzazione risultati 1 fino 13 di 13

Discussione: Javascript richiamare una funzione dentro un'altra

  1. #1
    hobbyeidee non è connesso Utente AlterBlog
    Data registrazione
    25-01-2021
    Messaggi
    99

    Predefinito Javascript richiamare una funzione dentro un'altra

    Ciao a tutti, risolto un problema ne ho un altro ��

    Come faccio a richiamare una funzione in un'altra

    in pratica ho creato una funzione che mi fa il calcolo matematico, ma vorrei crearne un'altra per ottenere il valore commerciale, questo dovrebbe essere richiamato dalla prima.

    ma non ci riesco, ho fatto un semplice conto per provare appunto il codice, ma non va, mi da come risultato il copia ed incolla di quanto scritto nel codice ��

    P.s. ma se volessi ottenere il distanziamento tra parole solo dove dico io come devo fare?
    con document.getElementById("Resistenza").style.wordSp acing = "15px";
    ovviamente mi distanzia tutto, io vorrei distanziare solo il valore watt dal simbolo Ω

    Grazie

    vi linko la pagina per farvi capire meglio:
    https://hobbyeidee.altervista.org/2025-2/
    Ultima modifica di hobbyeidee : 02-04-2022 alle ore 19.13.36

  2. #2
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,252

    Predefinito

    Come faccio a richiamare una funzione in un'altra

    in pratica ho creato una funzione che mi fa il calcolo matematico, ma vorrei crearne un'altra per ottenere il valore commerciale, questo dovrebbe essere richiamato dalla prima.
    Salve,
    se non ho capito male, itende una funzione con chiamata callback.

    Un esempio molto sempice può essere questo, tanto per esporre il concetto:
    Codice:
    function ClcolaQualcosa(2,func) {
      return func(val);
    }
    
    function Test(val) {
      return val;
    }
    
    // test
    var NewVal = ClcolaQualcosa(3,Test);
    P.s. ma se volessi ottenere il distanziamento tra parole solo dove dico io come devo fare?
    con document.getElementById("Resistenza").style.wordSp acing = "15px";
    ovviamente mi distanzia tutto, io vorrei distanziare solo il valore watt dal simbolo Ω
    Può farlo usando questa entità html  

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 02-04-2022 alle ore 20.38.43

  3. #3
    hobbyeidee non è connesso Utente AlterBlog
    Data registrazione
    25-01-2021
    Messaggi
    99

    Predefinito

    Citazione Originalmente inviato da GraphOGLRisorse Visualizza messaggio
    Salve,
    se non ho capito male, itende una funzione con chiamata callback.

    Un esempio molto sempice può essere questo, tanto per esporre il concetto:
    Codice:
    function ClcolaQualcosa(2,func) {
      return func(val);
    }
    
    function Test(val) {
      return val;
    }
    
    // test
    var NewVal = ClcolaQualcosa(3,Test);
    Ti psiego, nella pagina che ho linkato ottengo il valore della resistenza usando la legge di ohm, ma è un valore matematico che non è detto che si trovi in commercio, quindi vorrei inserire sotto una seconda riga in cui ottengo il valore commerciale,
    Per non ripetere i molti if ed else if, per singolo led, serie e parallelo pensavo di fare una seconda funzione che controlla se il valore matematico è maggiore o minore di un determinato numero e mi da il valore commerciale corrispondente.
    Ad esempio 135Ω il valore commerciale ottimale è 150Ω

    Solo che se inserisco:
    La funzione che esegue il calcolo matematico:
    function calc(){
    ....
    Valore commerciale = commerciale
    }

    function commerciale (){
    ....
    }

    ottengo quello che succede nella pagina non un calcolo ma un copia ed in icollla di quello che c'è scritto dentro la funzione

  4. #4
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito

    "commerciale" è appunto la funzione. Per richiamarla devi fare:
    Codice:
    Valore_Commerciale = commerciale();
    Poi, la funzione "commerciale" sarà del tipo:

    Codice:
    function commerciale() {
    var Valore1;
    
     Valore1 = Valore*10;
     
     return Valore1;
    
    }
    Se hai bisogno anche di aiuto per la stesura della funzione commerciale, fai sapere!

    Io, comunque, passerei Valore come parametro alla funzione commerciale, però funziona anche come hai fatto tu.

    Per quanto riguarda lo spazio del simbolo ohm, puoi racchiuderlo in un contenitore (span?), ed eventualmente modificare il suo CSS, ad esempio margin, padding o word-spacing, magari utilizza una classe apposita. Una cosa "al volo" (senza classe):
    Codice:
    Valore + " <span style='padding-left:10px'>Ω</span> " + Valore_watt + " W" + "</h3>" + Valore_Commerciale
    Ciao!
    Ultima modifica di alemoppo : 03-04-2022 alle ore 14.01.32

  5. #5
    hobbyeidee non è connesso Utente AlterBlog
    Data registrazione
    25-01-2021
    Messaggi
    99

    Predefinito

    Ciao grazie per l'aiuto, sono riuscito a far funzionare la seconda funzione, non ho sistemato la parte grafica, lo farò domani per adesso ho sistemato alla meno peggio.

    Adesso arriva il problema principale
    Mentalmente trovare il valore commerciale è automatico, ma in codice non so da dove iniziare
    Ad esempio se ho un valore matematico 133 come faccio a dire che il valore commerciale è il 150?
    In pratica il valore commerciale dovrebbe essere, salvo che matematico e commerciale non siano uguali anche se meglio usare sempre il maggiore, quello successivo al matematico.

    Mi servirebbe l'input per capire come partire (anche se sono a zero di javascript)
    Poi lo dovrei convertire in base al valore in Ω kΩ MΩ

    Ho inserito nella pagina una foto che i valori commerciali.

    https://hobbyeidee.altervista.org/2025-2/

    Buona serata

  6. #6
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito

    Citazione Originalmente inviato da hobbyeidee Visualizza messaggio
    anche se meglio usare sempre il maggiore
    Non è sempre vero: un esempio banale è se ti serve un oscillatore RC ad una frequenza minima: in quel caso scegliendo una R maggiore rischi di avere una frequenza di oscillazione fuori specifica (ma gli esempi possono essere infiniti, resistenze di shunt, etc. O più semplicemente con una R minore se sei al limite della dissipazione di potenza, rischi di far passare più corrente e quindi bruciare la resistenza.

    Citazione Originalmente inviato da hobbyeidee Visualizza messaggio
    Mi servirebbe l'input per capire come partire (anche se sono a zero di javascript)

    Citazione Originalmente inviato da hobbyeidee Visualizza messaggio
    Poi lo dovrei convertire in base al valore in Ω kΩ MΩ
    Sbaglio o l'avevi già fatta questa procedura?

    Comunque, se vuoi il valore vicino più alto, potesti provare una cosa del genere (i valori E24 non sono completi):

    Codice:
    function commerciale()
    {
      /*array con tutti i valori (non completo)*/
      var E24_values = [1.1, 1.2, 1.3, 1.5, 1.6, 1.8, 2.0, 2.2, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.3, 4.7];
      
      var index;
      
      /*numero di valori nella serie E24*/
      var num_valori = E24_values.length;
      
      /*parto dal primo elemento, proseguo fin quando non ne trovo uno superiore al mio valore, quindi lo ritorno*/
      for(index = 0; index < num_valori; index++)
      {
        if(E24_values[index] >= Valore)
        {
          return E24_values[index];
        }
      }
      return -1; //valore non trovato
      
    }
    Ciao!
    Ultima modifica di alemoppo : 04-04-2022 alle ore 19.05.09

  7. #7
    hobbyeidee non è connesso Utente AlterBlog
    Data registrazione
    25-01-2021
    Messaggi
    99

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Non è sempre vero: un esempio banale è se ti serve un oscillatore RC ad una frequenza minima: in quel caso scegliendo una R maggiore rischi di avere una frequenza di oscillazione fuori specifica (ma gli esempi possono essere infiniti, resistenze di shunt, etc. O più semplicemente con una R minore se sei al limite della dissipazione di potenza, rischi di far passare più corrente e quindi bruciare la resistenza.
    Hai ragione, ma almeno per adesso l'ho concepito per il calcolo delle resistenze da mettere in serie ai led, poi magari un domani lo sviluppo meglio :)

    Sbaglio o l'avevi già fatta questa procedura?
    No per adesso mi da solo il valore matematico senza distinzione di decine, centinaia ecc ecc

    Comunque, se vuoi il valore vicino più alto, potesti provare una cosa del genere (i valori E24 non sono completi):

    Codice:
    function commerciale()
    {
    /*array con tutti i valori (non completo)*/
    var E24_values = [1.1, 1.2, 1.3, 1.5, 1.6, 1.8, 2.0, 2.2, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.3, 4.7];

    var index;

    /*numero di valori nella serie E24*/
    var num_valori = E24_values.length;

    /*parto dal primo elemento, proseguo fin quando non ne trovo uno superiore al mio valore, quindi lo ritorno*/
    for(index = 0; index < num_valori; index++)
    {
    if(E24_values[index] >= Valore)
    {
    return E24_values[index];
    }
    }
    return -1; //valore non trovato

    }
    Grazie per l'aiuto, in questi giorni ci lavoro, posso disturbarti in caso di problemi?

    Buona giornata

    P.s. una domanda OT perchè pur avendo attivato le notifiche non ricevo le email di segnalazione che ci sono risposte in questo forum, neanche tra gli spam.

  8. #8
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito

    Citazione Originalmente inviato da hobbyeidee Visualizza messaggio
    Grazie per l'aiuto, in questi giorni ci lavoro, posso disturbarti in caso di problemi?
    Certo!

    Citazione Originalmente inviato da hobbyeidee Visualizza messaggio
    P.s. una domanda OT perchè pur avendo attivato le notifiche non ricevo le email di segnalazione che ci sono risposte in questo forum, neanche tra gli spam.
    Strano, ti sei iscritto a questa discussione? (le ho appena attivate anche io così da testarle).

    Ciao!

  9. #9
    hobbyeidee non è connesso Utente AlterBlog
    Data registrazione
    25-01-2021
    Messaggi
    99

    Predefinito

    Strano, ti sei iscritto a questa discussione? (le ho appena attivate anche io così da testarle).
    Credo di si 😅
    Ti allego la foto, ma in realtà spesso non mi arrivano le notifiche anche di altre discussioni.


  10. #10
    hobbyeidee non è connesso Utente AlterBlog
    Data registrazione
    25-01-2021
    Messaggi
    99

    Predefinito

    Buon giorno, credo di aver finito il codice.
    Non capisco solo perchè non legge il comando degli spazi "&nbsp &nbsp", nel simulatore di w3school lo legge nella mia pagina no.

    Che dite va bene come calcolatore e meglio fare qualche modifica?

    https://hobbyeidee.altervista.org/ca...tenze-per-led/

  11. #11
    frasidipace non è connesso AlterGuru 2500
    Data registrazione
    07-05-2010
    Messaggi
    2,621

    Predefinito

    Ciao,
    con gli strumenti del browser mi sembra che bel codice vi sia nbsp anziché &nbsp.
    Verifica e riprova.

    Ciao

  12. #12
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    Con
    Codice HTML:
    innerHTML = 'testo';
    non stai scrivendo .txt del semplice testo ma sovrascrivere il markup html sebbene non stai usando implicitamente markup html (cioè "impropriamente" chiamati talvolta tag html
    Codice HTML:
    <p>testo</p>
    ).
    In realtà dovresti scrivere il carattere per UTF-8 in esadecimale C2A0 mentre per codifica a byte singolo come ISO-8859-1, latin-1 è un carattere del esadecimale A0.
    Poiché No-break-space è difficile da leggere con occhi umani ti ho scritto in esadecimale. Altrimenti il risultato dei diversi browser è indefinito per l'entità HTML della proprietà del tuo oggetto DOM
    Codice HTML:
    innerHTML = '&nbsp';
    Codice PHP:
    $test1 = "\xC2\xA0a se servito con mime type text/html a codifica multibyte UTF-8, prima del carattere a è presente no break space &nbsp;";
    $test2 = "\xA0a se servito con mime type text/html a codifica singola, prima del carattere a è presente no break space &nbsp;";
    var_dump($test1, $test2);
    // commento php, se servito con mime type text/plain vedrai l'entità com'è stata scritta
    Ultima modifica di darbula : 08-04-2022 alle ore 15.48.53

  13. #13
    hobbyeidee non è connesso Utente AlterBlog
    Data registrazione
    25-01-2021
    Messaggi
    99

    Predefinito

    Grazie nei prossimi gironi ci provo, per adesso ho tolto il comando ed inserito un semplice spazio

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •