Kuo skiriasi „JavaScript“ metodai decodeURIComponent() ir decodeURI()?

Kuo Skiriasi Javascript Metodai Decodeuricomponent Ir Decodeuri



„JavaScript“ decodeURIComponent() ' ir ' dekoduotiURI() “ metodai veikia URI (vienodą išteklių identifikatorių). Metodas „decodeURIComponent()“ dekoduoja jo komponentus, o „decodeURI()“ – visiškai. Taigi jų apibrėžimai aiškiai nustato skirtumą tarp jų, tačiau jie taip pat skiriasi vienas nuo kito dėl kai kurių kitų veiksnių.

Š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.