if (!window['console']) {
window.console = {
log: function(msg) {}
}
}
Это проверяет, есть ли что-нибудь уже назначенное на window.console, и если нет, то назначает пользовательский объект, который имеет функцию 'log'. Это делает window.console.log пригодным для использования независимо от того, что именно, и если уже есть собственная (или ранее определенная) версия функции, она будет использоваться.
$(window).ready(function() {
Site.onReady();
});
var Site = {
host: null,
path: null,
etc..
Я понятия не имею, для чего это нужно, но Site
не определено в тот момент, когда он помещается в анонимный обратный вызов для $(window).ready()
, чего следует избегать (просто поместите $ (окно) .ready () ниже места, где определен сайт)
Что касается этого конкретного фрагмента:
$(window).ready(function() {
Site.onReady();
});
передает анонимную функцию в функцию $ (window) .ready (), которая будет вызывать ее, когда DOM будет готов. Использование анонимной функции напрямую исключает необходимость называть функцию и передавать ее позже.
function myFunc () {// теперь мы можем использовать myFunc где угодно, что может быть нежелательно
Site.onReady ();
}
$(window).ready(myFunc);
И наконец:
var Site = {
host: null,
path: null,
etc..
Синтаксис var myVar = {key1:"value", key2:"other_value"};
создает новый объект с ключами и значениями, которые можно использовать следующим образом: myVar.key1 = "newValue!"