Táto príručka uvádza rozdiel medzi metódami decodeURIComponent() a decodeURI().
Najprv sa pozrite na základy decodeURIComponent() a decodeURI metódy
než prejdeme k ich rozdielom.
Aký je rozdiel medzi metódami „decodeURIComponent()“ a „decodeURI()“ v JavaScripte?
Táto časť obsahuje významné rozdiely medzi metódami „decodeURIComponent()“ a „decodeURI()“:
Podmienky | decodeURIComponent() | decodeURI() |
Použitie | „decodeURIComponent()“ sa používa na dekódovanie komponentov URI zakódovaných metódou „encodeURIComponent()“. | „decodeURI()“ sa používa na dekódovanie úplného URI zakódovaného pomocou metódy „encodeURI“. |
Parametre | „decodeURIComponent()“ vyžaduje „zakódované“ URI metódou „encodeURIComponent()“ ako povinný parameter na dekódovanie. | „decodeURI()“ potrebuje „zakódované“ URI prostredníctvom metódy „encodeURI()“ ako svoj základný parameter na vykonanie operácie dekódovania. |
Obmedzenie | „decodeURIComponent()“ dekóduje iba tú časť URI, ktorá leží medzi „; / ? : @ & = + $ , #” oddeľovače. S týmito znakmi zaobchádza ako s textom, nie so špeciálnymi znakmi. | „decodeURIComponent()“ dekóduje úplné URI. |
Teraz sa pozrite na uvedené rozdiely prakticky.
Rozdiel 1: Použitie metód „decodeURIComponent()“ a „decodeURI()“ na základe „použitia“
Podľa prvého rozdielu metóda „decodeURIComponent()“ dekóduje zakódovaný reťazec pomocou metódy „encodeURIComponent()“ a metóda „decodeURI()“ dekóduje zakódovaný reťazec pomocou metódy „encodedURI()“.
JavaScript kód
< skript >var uri = '%3B%2C%41%3F%3A%41%26%3D'
var encoded_URI = encodeURIComponent ( typu ) ;
konzoly. log ( 'Výstup(decodeURIComponent()):' + decodeURIComponent ( typu ) )
var encoded_uri = encodeURI ( typu ) ;
konzoly. log ( 'Dekódované URI:' + decodeURI ( encoded_uri ) ) ;
skript >
Vo vyššie uvedenom útržku kódu:
- Premenná „uri“ inicializuje URI (Uniform Resource Identifier).
- Premenná „encoded_URI“ používa „ encodeURIComponent() ” na zakódovanie odovzdaného „uri“ ako jeho parametra.
- Ďalej metóda „console.log()“ používa „ decodeURIComponent() ” na dekódovanie nedávno zakódovaného reťazca a jeho následné zobrazenie v konzole.
- Potom sa „ decodeURI() ” metóda dekóduje zakódované URI cez “ encodeURI() ” metóda špecifikovaná v premennej “encoded_uri”.
Výkon
Je vidieť, že konzola zobrazuje dekódované URI pomocou metód „decodeURIComponent()“ a „decodeURI()“.
Rozdiel 2: Použitie metód „decodeURIComponent()“ a „decodeURI()“ na základe „parametrov“
V „Rozdiel 1“ je jasne vidieť, že „decodeURIComponent()“ akceptuje zakódované URI pomocou metódy „encodeURIComponent()“ a „decodeURI()“ funguje na zakódovanom URI pomocou metódy „encodeURI()“ ako parameter.
Rozdiel 3: Použitie metód „decodeURIComponent()“ a „decodeURI()“ na základe „dekódovaných znakov“
Tretí rozdiel medzi metódami „decodeURIComponent()“ a „decodeURI()“ možno analyzovať dekódovaním špecifického URI. Pozrime sa na to prakticky.
JavaScript kód
< skript >var uri = '@%20&%7F=%3A%41%26%3D'
konzoly. log ( 'Výstup(decodeURIComponent()): ' + decodeURIComponent ( typu ) )
konzoly. log ( 'Výstup(decodeURI()): ' + decodeURI ( typu ) )
skript >
V danej sekcii skriptu:
- Prvý ' console.log() ” metóda zobrazí dekódované URI pomocou “ decodeURIComponent() “.
- Druhá metóda „console.log()“ zobrazuje dekódované URI pomocou „ decodeURI() “.
Výkon
Konzola jasne ukazuje, že metóda „decodeURIComponent()“ dekóduje iba komponent URI ležiaci medzi znakmi „@ & =“, nie celé URI.
Záver
JavaScript “ decodeURIComponent() “ a „ decodeURI() “ metódy sa navzájom líšia v závislosti od „ použitie “, “ parametre “ a „ obmedzenie “faktory. Hlavný/významný rozdiel medzi sebou je v tom, že „decodeURIComponent()“ dekóduje komponent URI, zatiaľ čo metóda „decodeURI()“ dekóduje kompletný URI. Táto príručka prakticky vysvetlila kľúčové rozdiely medzi metódami decodeURIComponent() a decodeURI().