2010-11-03 11 views

Répondre

3
if (!window['console']) { 
    window.console = { 
    log: function(msg) {} 
    } 
} 

Ce vérifie pour voir s'il y a quelque chose actuellement affecté à window.console déjà et s'il n'y a pas, il assigne un objet personnalisé qui a une fonction « log ». Cela rend le fichier window.console.log utilisable, et s'il existe déjà une version native (ou définie plus tôt) de la fonction, elle sera utilisée.

$(window).ready(function() { 
    Site.onReady(); 
}); 



    var Site = { 
     host: null, 
     path: null, 
     etc.. 

Je ne sais pas ce que cela est pour, mais Site n'est pas défini au moment où il est placé dans le rappel anonyme pour $(window).ready(), qui est quelque chose qui doit être évité (il suffit de placer le $ (fenêtre) .ready() ci-dessous où le site est défini)

en ce qui concerne cet extrait spécifique:

$(window).ready(function() { 
     Site.onReady(); 
    }); 

ce passe une fonction anonyme à $ (fenêtre) fonction .ready(), qui l'appellera lorsque le DOM est prêt. L'utilisation d'une fonction anonyme évite directement le besoin de nommer une fonction, puis de la transmettre ultérieurement.

function myFunc() {// nous pouvons utiliser myFunc n'importe où maintenant, ce qui peut être indésirable Site.onReady(); }

$(window).ready(myFunc); 

Enfin:

var Site = { 
      host: null, 
      path: null, 
      etc.. 

La syntaxe var myVar = {key1:"value", key2:"other_value"}; crée un nouvel objet avec des clés et des valeurs qui peuvent être utilisées comme ceci: myVar.key1 = "newValue!"

0

On dirait qu'il initialise plusieurs objets globaux attendus sur la page. Par exemple console, qui est disponible dans Firefox/Firebug pour la journalisation, mais pas pour les autres navigateurs. Donc, en vérifiant l'existence de window['console'] et en l'ajoutant si nécessaire, vous pouvez faire confiance au code JavaScript que vous pouvez appeler console.log() sans provoquer d'erreur. Je suppose que le site, les aides, etc. font tous quelque chose de semblable.

0

sa définition d'un objet littéral 'console' sur l'objet window, s'il n'y est pas déjà, qui a un journal de fonction. Cela signifie que vous pouvez écrire dans votre code

console.log('something') 

même si le navigateur ne le supporte pas.