JavaScript Получаване на GET параметри на заявката

Помислете какво бихте искали да имате като резултат? Мисля, че би било удобно, ако GET заявката ни бъде представена като обект, съдържащ свойства с имена като свойствата на GET заявката и със съответните стойности.

Например имаме следната заявка: xxxxx.xx/xxx.html?aaa=111&bbb=foo&ccc=bar

Бих искал да имам обект като този:

Какво би използвал така:

Удобно, нали? Искаш ли? - Вземи:

Мнозина може да възразят, като кажат "fuu. регулярни изрази - те са спирачка. " - имате право, можете да използвате изпълнението без регулярни изрази:

Във втория пример сложността на алгоритъма е по-голяма, поради допълнителни проверки if () < . >. В първия случай те просто не са необходими.

И между другото, функция, използваща регулярен израз, не е много по-бавна и, да речем, в Google Chrome е дори по-бърза, а в Opera скоростта е същата. Той е по-нисък по скорост само във Firefox и в ранния IE, но е по-стабилен от втория вариант.

Например, нека вземем ситуации, когато GET заявката има неправилен формат (1 ред е резултат от функция с регулярен израз, 2 е резултат от функция без регулярен израз. Тествано в Google Chrome):

По принцип можете да живеете с това, но както виждате, функцията с регулярен израз работи по-правилно. И ако си спомните втората версия на функцията, тогава нейната сложност ще се увеличи и в резултат на това предимството в скоростта на изпълнение ще бъде загубено, така че изберете.