Quina diferència hi ha entre els mètodes decodeURIComponent() i decodeURI() a JavaScript?

Quina Diferencia Hi Ha Entre Els Metodes Decodeuricomponent I Decodeuri A Javascript



JavaScript ' decodeURIComponent() ' i la ' decodeURI() Els mètodes funcionen amb l'URI (Uniform Resource Identifier). El mètode 'decodeURIComponent()' descodifica els seus components, mentre que el 'decodeURI()' els descodifica completament. Per tant, les seves definicions identifiquen clarament la diferència entre ambdós, però també són diferents entre si en funció d'alguns altres factors.

Aquesta guia mostra la diferència entre els mètodes decodeURIComponent() i decodeURI().

Primer, mireu els fonaments bàsics del decodeURIComponent() i la decodificar URI mètodes







abans de passar a les seves diferències.



Quina diferència hi ha entre els mètodes 'decodeURIComponent()' i 'decodeURI()' a JavaScript?

Aquesta secció inclou les diferències significatives entre els mètodes 'decodeURIComponent()' i 'decodeURI()':



Termes decodeURIComponent() decodeURI()
Ús El 'decodeURIComponent()' s'utilitza per descodificar els components de l'URI codificats pel mètode 'encodeURIComponent()'. El 'decodeURI()' s'utilitza per descodificar l'URI complet codificat amb l'ajuda del mètode 'encodeURI'.
Paràmetres El 'decodeURIComponent()' requereix un URI 'codificat' pel mètode 'encodeURIComponent()' com a paràmetre obligatori per a la descodificació. El 'decodeURI()' necessita un URI 'codificat' mitjançant el mètode 'encodeURI()' com a paràmetre essencial per realitzar una operació de descodificació.
Limitació El 'decodeURIComponent()' només descodifica la part de l'URI que es troba entre els '; / ? : separadors @ & = + $, #”. Tracta aquests caràcters com a text, no caràcters especials. El 'decodeURIComponent()' descodifica l'URI complet.

Ara, vegeu les diferències declarades pràcticament.





Diferència 1: aplicació dels mètodes 'decodeURIComponent()' i 'decodeURI()' basats en 'Ús'

Segons la primera diferència, el mètode 'decodeURIComponent()' descodifica la cadena codificada mitjançant el mètode 'encodeURIComponent()' i el 'decodeURI()' descodifica la cadena codificada mitjançant el mètode 'encodedURI()'.

Codi JavaScript

< guió >

var uri = '%3B%2C%41%3F%3A%41%26%3D'

var codificat_URI = encodeURIComponent ( tipus ) ;

consola. registre ( 'Sortida(decodeURIComponent()):' + decodeURIComponent ( tipus ) )

var encoded_uri = codificar URI ( tipus ) ;

consola. registre ( 'URI descodificat:' + decodificar URI ( codificat_uri ) ) ;

guió >

Al fragment de codi anterior:



  • La variable 'uri' inicialitza un URI (Uniform Resource Identifier).
  • La variable 'encoded_URI' aplica el ' encodeURIComponent() ” per codificar el “uri” passat com a paràmetre.
  • A continuació, el mètode 'console.log()' utilitza el ' decodeURIComponent() ” per descodificar la cadena recentment codificada i després mostrar-la a la consola.
  • Després d'això, el ' decodeURI() ” mètode descodifica l'URI codificat mitjançant el “ encodeURI() ”, especificat a la variable “encoded_uri”.

Sortida

Es veu que la consola mostra els URI descodificats mitjançant els mètodes 'decodeURIComponent()' i 'decodeURI()'

Diferència 2: aplicació dels mètodes 'decodeURIComponent()' i 'decodeURI()' basats en 'Paràmetres'

Es pot veure clarament a la 'Diferència 1' que el 'decodeURIComponent()' accepta l'URI codificat mitjançant el mètode 'encodeURIComponent()' i el 'decodeURI()' funciona amb l'URI codificat mitjançant el mètode 'encodeURI()' com un paràmetre.

Diferència 3: aplicació dels mètodes 'decodeURIComponent()' i 'decodeURI()' basats en 'Caràcters descodificats'

La tercera diferència entre els mètodes 'decodeURIComponent()' i 'decodeURI()' es pot analitzar descodificant l'URI específic. Vegem-ho pràcticament.

Codi JavaScript

< guió >

var uri = '@%20&%7F=%3A%41%26%3D'

consola. registre ( 'Sortida(decodeURIComponent()):' + decodeURIComponent ( tipus ) )

consola. registre ( 'Sortida(decodeURI()):' + decodificar URI ( tipus ) )

guió >

A la secció de guió donada:

  • El primer ' console.log() ” El mètode mostra l'URI descodificat mitjançant el “ decodeURIComponent() ” mètode.
  • El segon mètode 'console.log()' mostra l'URI descodificat amb l'ajuda del ' decodeURI() ” mètode.

Sortida

La consola mostra clarament que el mètode 'decodeURIComponent()' només descodifica el component URI situat entre els caràcters '@ & =', no l'URI complet.

Conclusió

JavaScript ' decodeURIComponent() ' i la ' decodeURI() Els mètodes difereixen entre si depenent de la ús ”, “ paràmetres ', i la ' limitació ” factors. La diferència principal/significativa entre uns i altres és que el 'decodeURIComponent()' descodifica el component URI mentre que el mètode 'decodeURI()' descodifica l'URI complet. Aquesta guia va explicar pràcticament les diferències clau entre els mètodes decodeURIComponent() i decodeURI().