Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317

    [Teoria] Differenza fra codici e aggiornamento didattico

    Diciamo che quando programmavo io (sempre per hobby) creavo molto codici "terra-terra", e di solito per aggiornarmi e studiare tendo a leggere source codes di altri.

    Per esempio dando un occhiata a scripts recenti ho notato che ormai si tende a programmare a oggetti anche nel Javascript.

    Un'altra cosa che ho notato è che le variabili... non vengono (sempre) definite?

    codice HTML:
    var oggetto = {
      funzione: function (nome) {
         name = nome;
         return name;
      }
    }
    E' corretto non utilizzare var name= nome? Si perchè/No perchè?


    Ultima curiosità, quando noto $.nomefunzione a cosa è riferito? E' un riferimento ad una funzione AJAX (generalmente JQuery?).

    Può essere anche un riferimento ad altro? Esempi?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    codice:
    nome = nome
    Non è sbagliato, ma che senso ha?
    Attento che "nome" è già definito, quindi sarebbe sbagliato usare "var":
    codice:
    funzione: function (nome) { // <-- è definito qui!


    $.nomefunzione è generalmente riferito a jQuery, ma puoi definirlo quando e come ti pare:
    codice:
    var $ = {
        somma: function (a, b) {
            return a + b;
        },
        prodotto: function (a, b) {
            return a * b;
        }
    };
    
    // "Ups, mi sono dimenticato di scrivere la differenza! Posso aggiungerla senza cancellare le funzioni somma e prodotto"
    $.differenza = function (a, b) {
        return a - b;
    };
    
    // "E la divisione"
    $ = {
        divisione: function (a, b) {
            return a / b;
        }
    }; // "Oh, no! Ora l'oggetto $ contiene solo più la funzione 'divisione' :("
    codice:
    $.divisione(7, 2); // restituisce 3.5


    Per aggiornarti ti consiglio di seguire qualche buon blog

    In italiano conosco http://html.it e http://yourinspirationweb.com
    Ultima modifica di tampertools; 17-11-2014 a 20:53
    No

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Quote Originariamente inviata da tampertools Visualizza il messaggio
    codice:
    nome = nome
    Non è sbagliato, ma che senso ha?
    Attento che "nome" è già definito, quindi sarebbe sbagliato usare "var":
    codice:
    funzione: function (nome) { // <-- è definito qui!


    $.nomefunzione è generalmente riferito a jQuery, ma puoi definirlo quando e come ti pare:
    codice:
    var $ = {
        somma: function (a, b) {
            return a + b;
        },
        prodotto: function (a, b) {
            return a * b;
        }
    };
    
    // "Ups, mi sono dimenticato di scrivere la differenza! Posso aggiungerla senza cancellare le funzioni somma e prodotto"
    $.differenza = function (a, b) {
        return a - b;
    };
    
    // "E la divisione"
    $ = {
        divisione: function (a, b) {
            return a / b;
        }
    }; // "Oh, no! Ora l'oggetto $ contiene solo più la funzione 'divisione' :("
    codice:
    $.divisione(7, 2); // restituisce 3.5


    Per aggiornarti ti consiglio di seguire qualche buon blog

    In italiano conosco http://html.it e http://yourinspirationweb.com

    grazie sei stato chiarissimo, ma era nAme = nOme solo per evidenziare che nAme non era definita (poi si l'esempio in se per se era inutile): e l'ho trovato spesso che venga utilizzata una variabile di supporto senza essere definita all'interno della funzione

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    uh, si avevo letto name = name

    Comunque... la variabili andrebbero sempre definite: ecco un esempio del perché:

    codice:
    function aggiungi7 (x) {
        i = 7 + x;
        return i;
    }
    
    var i = 0;
    for (i = 0; i < 10; i++) {
        console.log(aggiungi7(i));
    }
    Uno si aspetterebbe che restituisse tutti i numeri da 7 a 19 (0 + 7, 1 + 7, ... , 9 + 7) e invece... restituisce solo 7 e 15!
    Questo perché:

    • La funzione viene chiamata la prima volta (i = 0)
    • La funzione aumenta i di 7 (i = 7)
    • Il ciclo for incrementa i di 1, con i++ (i = 8)
    • La funzione viene chiamata
    • La funzione aumenta i di 7 (i = 15)
    • 15 è maggiore di 10, quindi il ciclo si interrompe



    Scrivendo
    codice:
    var i = 7 + x;
    nella funzione si risolvono tanti problemi

    Non per niente, i più conosciuti "controllori" dei JavaScript (jslint, jshint) lo segnalano come errore
    No

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    ti ringrazio sei stato molto cordiale a spiegare tutto nei minimi dettagli

  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Quindi cosi
    var i = 7 + x;

    si crea una variabile lacola alla sola funzione.

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.