В этом руководстве перечислены различия между методами decodeURIComponent() и decodeURI().
Прежде всего, ознакомьтесь с основами декодироватьURIКомпонент() и декодироватьURI методы
прежде чем перейти к их различиям.
В чем разница между методами «decodeURIComponent()» и «decodeURI()» в JavaScript?
В этом разделе описаны существенные различия между методами «decodeURIComponent()» и «decodeURI()»:
Условия | декодироватьURIКомпонент() | декодироватьURI() |
Применение | «decodeURIComponent()» используется для декодирования компонентов URI, закодированных методом «encodeURIComponent()». | «decodeURI()» используется для декодирования полного URI, закодированного с помощью метода «encodeURI». |
Параметры | Для «decodeURIComponent()» требуется «закодированный» URI методом «encodeURIComponent()» в качестве обязательного параметра для декодирования. | Для «decodeURI()» требуется «закодированный» URI с помощью метода «encodeURI()» в качестве основного параметра для выполнения операции декодирования. |
Ограничение | «decodeURIComponent()» декодирует только ту часть URI, которая находится между «; / ? : @ & = + $ , #» разделители. Он рассматривает эти символы как текст, а не как специальные символы. | «decodeURIComponent()» декодирует полный URI. |
Теперь посмотрите на заявленные различия на практике.
Отличие 1: применение методов «decodeURIComponent()» и «decodeURI()» на основе «использования».
Согласно первому отличию, метод «decodeURIComponent()» декодирует закодированную строку с помощью метода «encodeURIComponent()», а метод «decodeURI()» декодирует закодированную строку с помощью метода «encodedURI()».
JavaScript-код
< сценарий >вар ури '=' '%3B%2C%41%3F%3A%41%26%3D'
var encoded_URI '=' кодироватьURIComponent ( тип ) ;
консоль. бревно ( 'Вывод(decodeURIComponent()):' + декодированиеURIComponent ( тип ) )
вар encoded_uri '=' кодироватьURI ( тип ) ;
консоль. бревно ( «Декодированный URI:» + декодироватьURI ( закодированный_uri ) ) ;
сценарий >
В приведенном выше фрагменте кода:
- Переменная «uri» инициализирует URI (универсальный идентификатор ресурса).
- Переменная «encoded_URI» применяет « кодироватьURIКомпонент() ” для кодирования переданного “uri” в качестве параметра.
- Далее метод console.log() использует метод « декодироватьURIКомпонент() ” для декодирования недавно закодированной строки и последующего отображения ее в консоли.
- После этого « декодироватьURI() ” декодирует закодированный URI через метод “ кодироватьURI() метод, указанный в переменной «encoded_uri».
Выход
Видно, что консоль показывает декодированные URI с помощью методов «decodeURIComponent()» и «decodeURI()».
Отличие 2: применение методов «decodeURIComponent()» и «decodeURI()» на основе «параметров».
В «Различии 1» ясно видно, что «decodeURIComponent()» принимает закодированный URI через метод «encodeURIComponent()», а «decodeURI()» работает с закодированным URI через метод «encodeURI()» как параметр.
Отличие 3: применение методов «decodeURIComponent()» и «decodeURI()» на основе «декодированных символов».
Третье различие между методами «decodeURIComponent()» и «decodeURI()» можно проанализировать путем декодирования конкретного URI. Давайте посмотрим на это практически.
JavaScript-код
< сценарий >вар ури '=' '@%20&%7F=%3A%41%26%3D'
консоль. бревно ( 'Вывод(decodeURIComponent()): ' + декодированиеURIComponent ( тип ) )
консоль. бревно ( 'Вывод(decodeURI()): ' + декодироватьURI ( тип ) )
сценарий >
В данном разделе скрипта:
- Первый ' консоль.log() ” отображает декодированный URI, используя метод “ декодироватьURIКомпонент() метод.
- Второй метод «console.log()» показывает декодированный URI с помощью « декодироватьURI() метод.
Выход
Консоль ясно показывает, что метод «decodeURIComponent()» декодирует только компонент URI, расположенный между символами «@ & =», а не полный URI.
Заключение
JavaScript» декодироватьURIКомпонент() » и « декодироватьURI() методы отличаются друг от друга в зависимости от « Применение », « параметры », и « ограничение Факторы. Основное/существенное различие между собой заключается в том, что метод «decodeURIComponent()» декодирует компонент URI, тогда как метод «decodeURI()» декодирует полный URI. В этом руководстве практически объяснены ключевые различия между методами decodeURIComponent() и decodeURI().