Šiame vadove pateikiami skirtumai tarp decodeURIComponent() ir decodeURI() metodų.
Pirmiausia pažvelkite į pagrindinius decodeURIComponent() ir decodeURI metodus
prieš pereinant prie jų skirtumų.
Kuo skiriasi „decodeURIComponent()“ ir „decodeURI()“ metodai „JavaScript“?
Šiame skyriuje pateikiami reikšmingi „decodeURIComponent()“ ir „decodeURI()“ metodų skirtumai:
Sąlygos | decodeURIComponent() | dekoduotiURI() |
Naudojimas | „decodeURIComponent()“ naudojamas URI komponentams, užkoduotiems „encodeURIComponent()“ metodu, iššifruoti. | „DecodeURI()“ naudojamas visam URI, užkoduotam naudojant „encodeURI“ metodą, iššifruoti. |
Parametrai | „decodeURIComponent()“ reikalauja „encodeURIComponent()“ metodu „užkoduoto“ URI kaip privalomo dekodavimo parametro. | Norint atlikti dekodavimo operaciją, „decodeURI()“ reikalingas „užkoduotas“ URI naudojant „encodeURI()“ metodą. |
Apribojimas | „decodeURIComponent()“ iškoduoja tik tą URI dalį, esančią tarp „; / ? : @ & = + $ , #“ skyrikliai. Šiuos simbolius ji traktuoja kaip tekstą, o ne kaip specialiuosius simbolius. | „decodeURIComponent()“ dekoduoja visą URI. |
Dabar pamatykite nurodytus skirtumus praktiškai.
1 skirtumas: „decodeURIComponent()“ ir „decodeURI()“ metodų taikymas pagal „naudojimą“
Pagal pirmąjį skirtumą, metodas „decodeURIComponent()“ iškoduoja užkoduotą eilutę naudodamas „encodeURIComponent()“ metodą, o „decodeURI()“ iššifruoja užkoduotą eilutę naudodamas „encodedURI()“ metodą.
JavaScript kodas
< scenarijus >var uri = '%3B%2C%41%3F%3A%41%26%3D'
var encoded_URI = encodeURIComponent ( tipo ) ;
konsolė. žurnalas ( 'Išvestis(decodeURIComponent()):' + decodeURIComponent ( tipo ) )
var encoded_uri = encodeURI ( tipo ) ;
konsolė. žurnalas ( 'Iškoduotas URI:' + decodeURI ( encoded_uri ) ) ;
scenarijus >
Aukščiau pateiktame kodo fragmente:
- Kintamasis „uri“ inicijuoja URI (vienodą išteklių identifikatorių).
- Kintamasis „encoded_URI“ taiko „ encodeURIComponent() “ metodą, kad užkoduotų perduotą „uri“ kaip jo parametrą.
- Tada „console.log()“ metodas naudoja „ decodeURIComponent() “ metodą, norėdami iššifruoti neseniai užkoduotą eilutę ir parodyti ją konsolėje.
- Po to „ dekoduotiURI() “ metodas dekoduoja užkoduotą URI per „ encodeURI() “ metodas, nurodytas „encoded_uri“ kintamajame.
Išvestis
Matoma, kad konsolė rodo iškoduotus URI naudojant „decodeURIComponent()“ ir „decodeURI()“ metodus.
2 skirtumas: „decodeURIComponent()“ ir „decodeURI()“ metodų taikymas pagal „parametrus“
Iš „1 skirtumo“ galima aiškiai matyti, kad „decodeURIComponent()“ priima užkoduotą URI naudodamas „encodeURIComponent()“ metodą, o „decodeURI()“ veikia užkoduotą URI naudodamas „encodeURI()“ metodą. parametras.
3 skirtumas: „decodeURIComponent()“ ir „decodeURI()“ metodų taikymas, pagrįstas „dekoduotais simboliais“
Trečiasis skirtumas tarp „decodeURIComponent()“ ir „decodeURI()“ metodų gali būti analizuojamas dekoduojant konkretų URI. Pažiūrėkime praktiškai.
JavaScript kodas
< scenarijus >var uri = '@%20&%7F=%3A%41%26%3D'
konsolė. žurnalas ( 'Išvestis(decodeURIComponent()):' + decodeURIComponent ( tipo ) )
konsolė. žurnalas ( 'Išvestis(decodeURI()):' + decodeURI ( tipo ) )
scenarijus >
Nurodytoje scenarijaus skiltyje:
- Pirmas ' console.log() “ metodas rodo dekoduotą URI naudodamas „ decodeURIComponent() “ metodas.
- Antrasis 'console.log()' metodas rodo iššifruotą URI, naudojant ' dekoduotiURI() “ metodas.
Išvestis
Konsolė aiškiai parodo, kad „decodeURIComponent()“ metodas iškoduoja tik URI komponentą, esantį tarp „@ & =“ simbolių, o ne visą URI.
Išvada
„JavaScript“ decodeURIComponent() ' ir ' dekoduotiURI() “ metodai skiriasi vienas nuo kito, priklausomai nuo „ naudojimas “, „ parametrus ', ir ' apribojimas ' faktoriai. Pagrindinis / reikšmingas skirtumas yra tas, kad „decodeURIComponent()“ iškoduoja URI komponentą, o „decodeURI()“ metodas dekoduoja visą URI. Šis vadovas praktiškai paaiškino pagrindinius decodeURIComponent() ir decodeURI() metodų skirtumus.