Ta priročnik navaja razliko med metodama decodeURIComponent() in decodeURI().
Najprej si oglejte osnove decodeURIComponent() in decodeURI metode
preden preidete na njihove razlike.
Kakšna je razlika med metodama »decodeURIComponent()« in »decodeURI()« v JavaScriptu?
Ta razdelek vsebuje bistvene razlike med metodama »decodeURIComponent()« in »decodeURI()«:
Pogoji | decodeURIComponent() | decodeURI() |
Uporaba | »decodeURIComponent()« se uporablja za dekodiranje komponent URI-ja, kodiranih z metodo »encodeURIComponent()«. | »decodeURI()« se uporablja za dekodiranje celotnega URI-ja, kodiranega s pomočjo metode »encodeURI«. |
Parametri | »decodeURIComponent()« zahteva »kodiran« URI z metodo »encodeURIComponent()« kot obvezni parameter za dekodiranje. | »decodeURI()« potrebuje »kodiran« URI prek metode »encodeURI()« kot bistven parameter za izvedbo operacije dekodiranja. |
Omejitev | »decodeURIComponent()« dekodira le del URI-ja, ki leži med »; / ? : @ & = + $ , #” ločila. Te znake obravnava kot besedilo, ne kot posebne znake. | »decodeURIComponent()« dekodira celoten URI. |
Sedaj pa si oglejte navedene razlike v praksi.
Razlika 1: Uporaba metod »decodeURIComponent()« in »decodeURI()« na podlagi »Uporabe«
V skladu s prvo razliko metoda »decodeURIComponent()« dekodira kodirani niz prek metode »encodeURIComponent()«, »decodeURI()« pa dekodira kodirani niz prek metode »encodedURI()«.
Koda JavaScript
< scenarij >var uri = '%3B%2C%41%3F%3A%41%26%3D'
var encoded_URI = encodeURIComponent ( vrsta ) ;
konzola. dnevnik ( 'Izhod(decodeURIComponent()):' + decodeURIComponent ( vrsta ) )
var encoded_uri = kodirajURI ( vrsta ) ;
konzola. dnevnik ( 'Dekodiran URI:' + decodeURI ( kodiran_uri ) ) ;
scenarij >
V zgornjem delčku kode:
- Spremenljivka »uri« inicializira URI (Uniform Resource Identifier).
- Spremenljivka »encoded_URI« uporablja » encodeURIComponent() ” za kodiranje posredovanega “uri” kot parametra.
- Nato metoda “console.log()” uporablja “ decodeURIComponent() ” za dekodiranje nedavno kodiranega niza in ga nato prikažete v konzoli.
- Po tem je ' decodeURI() ' dekodira kodirani URI prek ' kodirajURI() «, podana v spremenljivki »encoded_uri«.
Izhod
Videti je, da konzola prikazuje dekodirane URI-je z uporabo metod »decodeURIComponent()« in »decodeURI()«.
Razlika 2: Uporaba metod “decodeURIComponent()” in “decodeURI()” na podlagi “Parametrov”
V »Razliki 1« je jasno razvidno, da »decodeURIComponent()« sprejme kodiran URI prek metode »encodeURIComponent()« in »decodeURI()« deluje na kodiranem URI prek metode »encodeURI()« kot parameter.
Razlika 3: Uporaba metod “decodeURIComponent()” in “decodeURI()” na podlagi “dekodiranih znakov”
Tretjo razliko med metodama »decodeURIComponent()« in »decodeURI()« je mogoče analizirati z dekodiranjem specifičnega URI-ja. Oglejmo si praktično.
Koda JavaScript
< scenarij >var uri = '@%20&%7F=%3A%41%26%3D'
konzola. dnevnik ( 'Izhod(decodeURIComponent()): ' + decodeURIComponent ( vrsta ) )
konzola. dnevnik ( 'Izhod(decodeURI()): ' + decodeURI ( vrsta ) )
scenarij >
V danem razdelku skripta:
- Prvi ' console.log() ' prikaže dekodirani URI z uporabo ' decodeURIComponent() ” metoda.
- Druga metoda »console.log()« prikaže dekodirani URI s pomočjo » decodeURI() ” metoda.
Izhod
Konzola jasno kaže, da metoda »decodeURIComponent()« dekodira le komponento URI, ki leži med znaki »@ & =«, ne celotnega URI-ja.
Zaključek
JavaScript' decodeURIComponent() ' in ' decodeURI() ' metode se med seboj razlikujejo glede na ' uporaba ”, “ parametri ', in ' omejitev ” dejavniki. Glavna/pomembna razlika med seboj je v tem, da »decodeURIComponent()« dekodira komponento URI, medtem ko metoda »decodeURI()« dekodira celoten URI. V tem priročniku so praktično razložene ključne razlike med metodama decodeURIComponent() in decodeURI().