Lexicographical string comparison (alphabetical order)

Предполагается, что любой словарь содержит слова отсортированные по определенному порядку, как правило - по алфавиту. Такого рода порядок называется лексикографическим.
Посимвольное сравнение строк происходит с учетом положения сравниваемых символов в алфавите. Понятное дело, что в данном случае под алфавитом имеется в виду таблица кодировок, например - ASCII таблица. Таким образом сравниваются их номера в алфавите (коды из таблицы кодировок). В случае, если сравниваемые символы равны, то наличие любого символа в одной из строк увеличивает свой вес по отношению к другой строке. Таким образом на выходе мы можем получить вот такой порядок:

A < AA < AAB < ABC < AD < AFF < Z < ZZZ

или на кириллице:

А < АА < ААА < ААБ < ААВ < АБ < Б < … < ЯЯЯ

Из Си нам знакома функция strcmp, которая сравнивает строки именно лексикографически (по алфавиту). В C++, например, тип данных string поддерживает операции сравнения операторами >, < и ==, в Java - compareTo, в javascript - также операторы сравнения и localeCompare.

Javascript. Working with the url structure

Для работы с текущим url документа, объект window поддерживает свойство - location. В действительности window.location - специализированный объект, позволяющий как получать, так и устанавливать всю структуру url (в этом случае - это приводит к вызову window с заданным url). Как известно, базовая структура url имеет следующий вид:

<protocol>//<hostname>:<port>/<pathname><search><hash>

Соответственно, window.location поддерживает всю эту структуру. Например, для получения хоста, необходимо обратиться к свойству этого объекта - window.location.host. Если Вы используете фреймворк jquery, тогда обратиться к этому объекту можно так - $(location).attr('host'). Далее приведу небольшой пример.

// http://www.test.ru:8080/index.php?param=1#1

var CurrentLocation = window.location;

/*

if support jquery
var CurrentLocation = $(location);

*/

console.log(CurrentLocation.href);           // http://localhost:8080/index.php?param=1#1
console.log(CurrentLocation.protocol);    // http:

console.log(CurrentLocation.host);           // www.test.ru:8080
console.log(CurrentLocation.hostname);  // www.test.ru
console.log(CurrentLocation.port);           // 8080
console.log(CurrentLocation.pathname);  // /index.php
console.log(CurrentLocation.search);       // ?param=1
console.log(CurrentLocation.hash);          // #1