function historyLoad() {
// History - это какая-то обертка над History API, что возвращает метод getState точно неизвестно
var State = History.getState();
// Просто логирование
History.log('initial:', State.data, State.title, State.url);
// Показывается прелоадер
$('#preload').fadeIn(200);
// Если последний символ в url слеш, то:
// 1. изменяется глобальная переменная content
// 2. выполняется функция getHeader
// 3. функция завершает работу
if ("/" == State.url.slice(-1))
{
content = "home";
getHeader();
return;
}
// Разбиваем url по знаку вопроса (забыли var)
str = State.url.split('?');
// Берем часть после знака вопроса (забыли var)
strSplit = str[1];
console.log(strSplit);
// Разбивает часть после знака вопроса по амперсанду (забыли var)
l = strSplit.split('&');
// Если есть что-то между знаком вопроса и первым амперсандом
if (l[0])
{
// В зависимости от того, что находится перед первым амперсандом
switch (l[0])
{
case "en":
case "ru":
case "ua":
// изменяем глобальную переменную lang
// вызываем функцию getHeader
lang = l[0];
getHeader();
break;
default:
// если первый элемент перед амперсандом не en, ru или ua:
// 1. изменяется глобальная переменная content
// 2. выполняется функция getHeader
content = "abra";
getHeader();
break;
}
if (l[1] && undefined != l[1])
{
// Если что-то есть между первым и вторым амперсандами (ну или просто после первого, если других нет),
// записываем эту строку в глобальную переменную content
content = l[1]
}
}
else
{
// Вызывем функцию getHeader
getHeader();
}
}
// Выполняем функцию при старте страницы
historyLoad();
// слушаем изменение url страницы, используя обертку над History API и выполняем функцию historyLoad
History.Adapter.bind(window, 'statechange', function () { // Note: We are using statechange instead of popstate
// Log the State
historyLoad();
});
Ну а вообще,
Виталий Пухов прав - ничего особенного в этом коде нет, после месяца изучения js (то есть синтаксис вы уже хорошо понимаете) спокойно можно разбираться, декомпозируя код на небольшие куски.