JavaScript Отримати параметри GET запиту
Подумаємо, що в результаті хотілося б мати? Я думаю, що було б зручно, якби GET запит представився нам об'єктом, що містить властивості з іменами як у властивостей GET запиту, так і з відповідними значеннями.
Наприклад, маємо такий запит: xxxxx.xx/xxx.html?aaa=111&bbb=foo&ccc=bar
Хотілося б мати такий об'єкт:
Що б використовувати так:
Зручно, правда? Хочете? - Забирайте:
Багато хто може заперечити, мовляв "фуу. регулярки - вони гальмові." - маєте право, можна використовувати реалізацію без регулярок:
У другому прикладі складність алгоритму більша, за рахунок додаткових перевірок if() < . >. У першому випадку вони просто не потрібні.
І до речі, функція з використанням регулярки не набагато повільніша, а, скажімо, у Google Chrome вона навіть швидше, та й у Opera швидкість однакова. Поступається вона за швидкістю лише в Firefox і в ранніх IE, але вона більш стійка ніж другий варіант.
Наприклад, візьмемо ситуацію, коли GET запит має не коректний формат (1 рядок це результат функції з регулюванням, 2 - результат функції без регулювання. Тестувалося в Google Chrome):
У принципі з цим можна жити, але, як видно, функція з регуляркою відпрацьовує коректніше. А якщо доводити до розуму другий варіант функції - то її складність зросте і як наслідок втратиться перевага швидкості виконання, так що вибирайте.