Метод предполагает, что переданный параметр является полным URI, поэтому не кодирует зарезервированные значения, которые имеют специальные значения в URI.
Метод encodeURI
заменяет все символы, исключая следующие, соответствующими им UTF-8 escape-последовательностями.
Тип
Включает в себя
Зарезервированные
; , / ? : @ & = + $
Незаменяемые символы
латинский алфавит, десятичные цифры, - _ . ! ~ * ' ( )
Значок решетки
#
Заметим, что encodeURI
не может формировать данные для GET или POST-запросов, например, для XMLHttpRequest, так как "&", "+", и "=" не кодируются - а они являются специальными символами.
Их кодирует метод encodeURIComponent.
Начиная с "Тип Включает в себя" непонятно. Что-куда включая, что значит "включая", зачем нужны "зарезервированные". Если "зарезервированные" символы не кодируются, почему бы их не включить в список незаменяемых символов.
так как "&", "+", и "=" не кодируются - а они являются специальными символами-плохо построена эта фраза, которая не может быть хорошо понята
Это описание для программистов.
Для чего вообще применяется этот вид "кодирования"?
Как это раскодировать назад?
decodeURI("закодированный текст");
Пример рабочего кода бы не помешал