Visualizzazione dei risultati da 1 a 3 su 3

Discussione: scope delle variabili

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    29

    scope delle variabili

    mi potete indicare un buon tutorial sullo scope delle variabili? ho continuamente probelemi ad accedere a variabili su timeline diverse e forse è meglio che impari esattamente _this, _root, _level0 ecc...

    però aggiungo una domanda la volo: se sulla timeline principale creo un pulsante e dentro il codice on (press) {....} creo una variabile, questa variabile è sulla timeline principale o è su un altra timeline?

    se è su un altra timeline (cosa che credo) come faccio a dichiarare una variabile che continuerà ad esistere anche dopo l'uscita dall on (press) {}?

    grazie e ciao!

    pietro.

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non ti posso indicare tutorial, perchè non so neanche se ne esistono in merito, posso dirti invece che il discorso se preso dal giusto punto di vista e con una buona conoscenza dei linguaggi in generale, è piuttosto semplice... ma diventa molto difficile da comprendere se ci sono lacune sulla programmazione...

    in generale quello che conta è di seguire la regola dell'utilizzo della variabile nella timeline o nella funzione in cui viene dichiarata, ma in casi particolari, come quello che hai presentato, in cui non è comprensibile a quale timeline si faccia riferimento dentro un comando di pulsante, è meglio affidarsi ad un trace che ci faccia capire quale sia la timeline di riferimento... nell'on(press) di solito è quella che contiene il pulsante, ma ad esempio se invece di assegnare l'azione direttamente al pulsante utilizzi la sintassi del punto sulla timeline:

    pulsante.onPress = function(){
    trace(this); // output: _level0.pulsante
    }

    il this fa riferimento alla timeline di "pulsante" e non di _root

    mentre con lo stesso codice nel pulsante

    on(press){
    trace(this); // output: _level0
    }

    ottieni la timeline principale

    inoltre la cosa vale anche per le funzioni in cui lo scope della variabile dichiarata all'interno della funzione, vale solo per la funzione stessa

    function prova(){
    var p1 = "ciao";
    trace(p1);
    }
    trace(p1); // output: undefined
    prova(); // richiama il trace e ottiene in output: ciao


    queste sono in finale le poche regolette da seguire

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    29
    scusa se non ti ho risposto prima, ma in questi giorni sono stato incasinato. appena ho un attimo leggo il tuo post per bene, e se ho ulteriori domande ti stresserò ancora.

    grazie, pietro.

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.