Kakšna je razlika med metodama decodeURIComponent() in decodeURI() v JavaScriptu?

Kaksna Je Razlika Med Metodama Decodeuricomponent In Decodeuri V Javascriptu



JavaScript' decodeURIComponent() ' in ' decodeURI() ” metode delujejo na URI (Uniform Resource Identifier). Metoda »decodeURIComponent()« dekodira njegove komponente, medtem ko jo »decodeURI()« dekodira v celoti. Zato njihove definicije jasno opredeljujejo razliko med obema, vendar se med seboj razlikujejo tudi na podlagi nekaterih drugih dejavnikov.

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().