Mi a különbség a decodeURIComponent() és a decodeURI() metódusok között a JavaScriptben?

Mi A Kulonbseg A Decodeuricomponent Es A Decodeuri Metodusok Kozott A Javascriptben



JavaScript ' decodeURIComponent() ' és a ' decodeURI() ” módszerek működnek az URI-n (Uniform Resource Identifier). A „decodeURIComponent()” metódus dekódolja az összetevőit, míg a „decodeURI()” teljesen dekódolja. Ezért definícióik egyértelműen meghatározzák a kettő közötti különbséget, de más tényezők alapján is különböznek egymástól.

Ez az útmutató bemutatja a decodeURIComponent() és a decodeURI() metódusok közötti különbséget.

Először nézze meg az alapokat decodeURIComponent() és a decodeURI mód







mielőtt rátérnénk a különbségeikre.



Mi a különbség a JavaScript „decodeURIComponent()” és „decodeURI()” metódusai között?

Ez a szakasz a „decodeURIComponent()” és a „decodeURI()” metódusok közötti jelentős különbségeket tartalmazza:



Feltételek decodeURIComponent() decodeURI()
Használat A „decodeURIComponent()” az URI „encodeURIComponent()” metódussal kódolt összetevőinek dekódolására szolgál. A „decodeURI()” az „encodeURI” metódus segítségével kódolt teljes URI dekódolására szolgál.
Paraméterek A „decodeURIComponent()” az „encodeURIComponent()” metódussal „kódolt” URI-t igényel a dekódolás kötelező paramétereként. A „decodeURI()”-nak az „encodeURI()” metóduson keresztül „kódolt” URI-ra van szüksége, mint alapvető paramétere a dekódolási művelet végrehajtásához.
Korlátozás A „decodeURIComponent()” csak az URI azon részét dekódolja, amely a „; / ? : @ & = + $ , #” elválasztók. Ezeket a karaktereket szövegként kezeli, nem speciális karakterként. A „decodeURIComponent()” dekódolja a teljes URI-t.

Most nézze meg a leírt különbségeket a gyakorlatban.





1. különbség: „decodeURIComponent()” és „decodeURI()” módszerek alkalmazása a „használat” alapján

Az első különbség szerint a „decodeURIComponent()” metódus az „encodeURIComponent()” metódussal, a „decodeURI()” pedig az „encodedURI()” metódussal dekódolja a kódolt karakterláncot.

JavaScript kód

< forgatókönyv >

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

var encoded_URI = encodeURIComponent ( típus ) ;

konzol. log ( 'Output(decodeURIComponent()):' + decodeURIComponent ( típus ) )

var encoded_uri = encodeURI ( típus ) ;

konzol. log ( 'Dekódolt URI:' + decodeURI ( kódolt_uri ) ) ;

forgatókönyv >

A fenti kódrészletben:



  • Az „uri” változó inicializál egy URI-t (Uniform Resource Identifier).
  • Az „encoded_URI” változó a „ encodeURIComponent() ” metódussal kódolja az átadott „uri” paramétert.
  • Ezután a „console.log()” metódus a „ decodeURIComponent() ” módszerrel dekódolja a nemrég kódolt karakterláncot, majd megjeleníti azt a konzolon.
  • Ezt követően a „ decodeURI() ' metódus dekódolja a kódolt URI-t a ' encodeURI() ” metódus az „encoded_uri” változóban van megadva.

Kimenet

Látható, hogy a konzol megjeleníti a dekódolt URI-kat a „decodeURIComponent()” és a „decodeURI()” metódusokkal.

2. különbség: „decodeURIComponent()” és „decodeURI()” módszerek alkalmazása „paraméterek” alapján

A „Difference 1”-ben jól látható, hogy a „decodeURIComponent()” az „encodeURIComponent()” metóduson keresztül fogadja el a kódolt URI-t, a „decodeURI()” pedig az „encodeURI()” metóduson keresztül működik a kódolt URI-n. egy paraméter.

3. különbség: „decodeURIComponent()” és „decodeURI()” módszerek alkalmazása „Dekódolt karakterek” alapján

A harmadik különbség a „decodeURIComponent()” és a „decodeURI()” metódusok között az adott URI dekódolásával elemezhető. Lássuk a gyakorlatban.

JavaScript kód

< forgatókönyv >

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

konzol. log ( 'Kimenet(decodeURIComponent()): ' + decodeURIComponent ( típus ) )

konzol. log ( 'Kimenet(decodeURI()):' + decodeURI ( típus ) )

forgatókönyv >

Az adott script részben:

  • Az első ' console.log() ' metódus megjeleníti a dekódolt URI-t a ' decodeURIComponent() ” módszerrel.
  • A második „console.log()” metódus megmutatja a dekódolt URI-t a „ decodeURI() ” módszerrel.

Kimenet

A konzol egyértelműen mutatja, hogy a „decodeURIComponent()” metódus csak a „@ & =” karakterek között található URI-összetevőt dekódolja, a teljes URI-t nem.

Következtetés

JavaScript ' decodeURIComponent() ' és a ' decodeURI() ” módszerek különböznek egymástól attól függően, hogy „ használat ', ' paramétereket ', és a ' korlátozás ” tényezők. A fő/jelentős különbség egymás között az, hogy a „decodeURIComponent()” dekódolja az URI komponenst, míg a „decodeURI()” metódus a teljes URI-t. Ez az útmutató gyakorlatilag elmagyarázta a decodeURIComponent() és a decodeURI() metódusok közötti fő különbségeket.