Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 14 su 14

Hybrid View

  1. #1
    si è insito nel linguaggio

    evidentemente usando solo ( function() {} ) non si potevano passare parametri alla funzione mentre ( function() {} )() da spazio anche al passaggio di parametri.. tra l'altro usare solo ( ) va in conflitto con l'uso normale delle parentesi
    Questa volta, più che un voto.. è favoreggiamento.

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    Ok devo cercare di imprimerlo in testa

    Che poi alla fine della fiera mi rimane un quesito. Fino ad ora ho sempre realizzato senza problemi applicazioni con matrici di dati.
    Per fare un esempio sempre con i marker di google maps, per quella che è la mia predisposizione mentale attuale mi limiterei a creare degli array multidimensionali così strutturati

    markersArray[
    [marker, testo per infoWindow],
    [marker, testo per infoWindow],
    [marker, testo per infoWindow],
    etc..
    ]

    Ipotizziamo ugualmente che i marker siano stati generati tramite un loop del tipo

    Codice PHP:
    var marker

    for (var i=0i<10i++)
    {
       
    marker = new google.maps.Marker({
                
    positionposition,
                
    mapmap,
                
    titlemarkers[i][0]
            });



    [...]
    // e fin qui ho ripreso a piè pari il metodo suggerito dal sito linkato


    //qui invece aggiungo il metodo da me ipotizzato
    markersArray[i].push(marker)
    markersArray[i].push(testo infoWindow)


    così facendo a "click" avvenuto mi risulta facile poi prelevarmi le informazioni "collaterali" (leggasi quelle relative al testo dell'infoWindow) tramite l'indexOf dell'event.target

    Quello che mi interessa capire è: c'è un reale vantaggio nell'utilizzare il sistema "a clousures" piuttosto che il mio? Chessò, magari si spreca meno memoria o roba simile?
    Ultima modifica di American; 13-11-2013 a 15:11

  3. #3
    Le self-executing function non sono closure ma sono spesso usate (come nel tuo caso) in abbinamento alle closure.

    I vantaggio:
    lo scope delle variabili limitato alla funzione
    non c'è bisogno di preoccuparsi del nome della variabile all'interno della funzione
    il codice è più leggibile
    serve per alcuni approcci OOP
    si può passare il risultato di una funzione come parametro di un'altra funzione (questo nel tuo caso)

    la cosa importante da capire è che ( .... )(); questo costrutto viene eseguito nello stesso momento in cui viene definito
    Questa volta, più che un voto.. è favoreggiamento.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    Quindi non c'è alcun vantaggio in termini di performance... insomma, il programma funziona ugualmente

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 © 2026 vBulletin Solutions, Inc. All rights reserved.