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