Tässä oppaassa kerrotaan decodeURIComponent()- ja decodeURI()-menetelmien eroista.
Ensinnäkin, katso perusasiat decodeURIComponent() ja decodeURI menetelmiä
ennen kuin siirryt heidän eroihinsa.
Mitä eroa on JavaScriptin 'decodeURIComponent()'- ja 'decodeURI()'-menetelmien välillä?
Tämä osio sisältää merkittävät erot 'decodeURIComponent()'- ja 'decodeURI()'-menetelmien välillä:
Ehdot | decodeURIComponent() | decodeURI() |
Käyttö | 'decodeURIComponent()'-funktiota käytetään 'encodeURIComponent()'-menetelmällä koodattujen URI:n komponenttien dekoodaamiseen. | 'decodeURI()'-funktiota käytetään 'encodeURI'-menetelmän avulla koodatun URI:n täydellisen purkamiseen. |
Parametrit | 'decodeURIComponent()' vaatii 'encodeURIComponent()'-menetelmällä 'koodatun' URI:n pakollisena dekoodauksen parametrina. | 'decodeURI()' tarvitsee 'encodeURI()'-menetelmän kautta 'koodatun' URI:n olennaisena parametrina dekoodaustoiminnon suorittamiseksi. |
Rajoitus | 'decodeURIComponent()' purkaa vain sen osan URI:sta, joka on '; / ? : @ & = + $ , #” erottimet. Se käsittelee näitä merkkejä tekstinä, ei erikoismerkkejä. | 'decodeURIComponent()' purkaa koko URI:n. |
Katso nyt esitetyt erot käytännössä.
Ero 1: 'decodeURIComponent()'- ja 'decodeURI()'-menetelmien soveltaminen 'käytön' perusteella
Ensimmäisen eron mukaan 'decodeURIComponent()'-menetelmä purkaa koodatun merkkijonon 'encodeURIComponent()'-menetelmällä ja 'decodeURI()' purkaa koodatun merkkijonon 'encodedURI()'-menetelmällä.
JavaScript-koodi
< käsikirjoitus >var uri = '%3B%2C%41%3F%3A%41%26%3D'
var encoded_URI = encodeURIComponent ( tyyppi ) ;
konsoli. Hirsi ( 'Output(decodeURIComponent()):' + decodeURIComponent ( tyyppi ) )
var encoded_uri = encodeURI ( tyyppi ) ;
konsoli. Hirsi ( 'Dekoodattu URI:' + decodeURI ( koodattu_uri ) ) ;
käsikirjoitus >
Yllä olevassa koodinpätkässä:
- 'uri'-muuttuja alustaa URI:n (Uniform Resource Identifier).
- 'encoded_URI' -muuttuja käyttää ' encodeURIComponent() ' -menetelmää koodaamaan lähetetty 'uri' parametriksi.
- Seuraavaksi 'console.log()'-menetelmä käyttää ' decodeURIComponent() ” -menetelmää purkaa äskettäin koodattu merkkijono ja näyttää se sitten konsolissa.
- Sen jälkeen ' decodeURI() ' -menetelmä purkaa koodatun URI:n '' encodeURI() ' encoded_uri-muuttujassa määritetty menetelmä.
Lähtö
Nähdään, että konsoli näyttää dekoodatut URI:t käyttämällä 'decodeURIComponent()'- ja 'decodeURI()'-menetelmiä.
Ero 2: 'decodeURIComponent()'- ja 'decodeURI()'-menetelmien soveltaminen 'parametrien' perusteella
Erosta 1 voidaan selvästi nähdä, että 'decodeURIComponent()' hyväksyy koodatun URI:n 'encodeURIComponent()'-menetelmän kautta ja 'decodeURI()' toimii koodatussa URI:ssa 'encodeURI()'-menetelmän kautta. parametri.
Ero 3: 'decodeURIComponent()'- ja 'decodeURI()'-menetelmien soveltaminen 'dekoodattuihin merkkeihin' perustuen
Kolmas ero 'decodeURIComponent()'- ja 'decodeURI()'-menetelmien välillä voidaan analysoida dekoodaamalla tietty URI. Katsotaanpa käytännössä.
JavaScript-koodi
< käsikirjoitus >var uri = '@%20&%7F=%3A%41%26%3D'
konsoli. Hirsi ( 'Output(decodeURIComponent()): ' + decodeURIComponent ( tyyppi ) )
konsoli. Hirsi ( 'Output(decodeURI()):' + decodeURI ( tyyppi ) )
käsikirjoitus >
Annetussa skriptiosiossa:
- Ensimmäinen ' console.log() ' -menetelmä näyttää dekoodatun URI:n käyttämällä ' decodeURIComponent() ”menetelmä.
- Toinen 'console.log()'-menetelmä näyttää dekoodatun URI:n '' decodeURI() ”menetelmä.
Lähtö
Konsoli näyttää selvästi, että 'decodeURIComponent()' -menetelmä purkaa vain @ & = -merkkien välissä olevan URI-komponentin, ei koko URI:tä.
Johtopäätös
JavaScript ' decodeURIComponent() ' ja ' decodeURI() ' menetelmät eroavat toisistaan riippuen ' käyttö ”, “ parametrit ', ja ' rajoitus ”tekijät. Tärkein/merkittävä ero keskenään on, että 'decodeURIComponent()' purkaa URI-komponentin, kun taas 'decodeURI()'-menetelmä purkaa koko URI:n. Tämä opas selitti käytännössä tärkeimmät erot decodeURIComponent()- ja decodeURI()-menetelmien välillä.