Acest ghid prezintă diferența dintre metodele decodeURIComponent() și decodeURI().
În primul rând, uită-te la elementele de bază ale decodeURIComponent() si decodeURI metode
înainte de a trece la diferențele lor.
Care este diferența dintre metodele „decodeURIComponent()” și „decodeURI()” în JavaScript?
Această secțiune cuprinde diferențele semnificative dintre metodele „decodeURIComponent()” și „decodeURI()”:
Termeni | decodeURIComponent() | decodeURI() |
Utilizare | „decodeURIComponent()” este folosit pentru a decoda componentele URI-ului codificat prin metoda „encodeURIComponent()”. | „decodeURI()” este utilizat pentru a decoda întregul URI codificat cu ajutorul metodei „encodeURI”. |
Parametrii | „decodeURIComponent()” necesită un URI „codat” prin metoda „encodeURIComponent()” ca parametru obligatoriu pentru decodare. | „decodeURI()” are nevoie de un URI „codat” prin metoda „encodeURI()” ca parametru esențial pentru a efectua o operație de decodare. |
Prescripţie | „decodeURIComponent()” decodifică doar partea din URI care se află între „; / ? : @ & = + $ , #” separatori. Tratează aceste caractere ca text, nu caractere speciale. | „decodeURIComponent()” decodifică URI-ul complet. |
Acum, vedeți diferențele declarate practic.
Diferența 1: Aplicarea metodelor „decodeURIComponent()” și „decodeURI()” bazate pe „Utilizare”
Conform primei diferențe, metoda „decodeURIComponent()” decodifică șirul codificat prin metoda „encodeURIComponent()”, iar „decodeURI()” decodifică șirul codificat prin metoda „encodedURI()”.
Cod JavaScript
< scenariu >var uri = „%3B%2C%41%3F%3A%41%26%3D”
var codificat_URI = encodeURIComponent ( tip ) ;
consolă. Buturuga ( „Ieșire(decodificareURIComponent()):” + decodeURIComponent ( tip ) )
var encoded_uri = encodeURI ( tip ) ;
consolă. Buturuga ( „URI decodificat:” + decodeURI ( codificat_uri ) ) ;
scenariu >
În fragmentul de cod de mai sus:
- Variabila „uri” inițializează un URI (Uniform Resource Identifier).
- Variabila „encoded_URI” aplică „ encodeURIComponent() ” pentru a codifica „uri” transmis ca parametru.
- Apoi, metoda „console.log()” folosește „ decodeURIComponent() ” pentru a decoda șirul recent codificat și apoi a-l afișa în consolă.
- După aceea, „ decodeURI() ” decodifică URI-ul codificat prin „ encodeURI() ” metoda specificată în variabila „encoded_uri”.
Ieșire
Se vede că consola arată URI-urile decodificate folosind metodele „decodeURIComponent()” și „decodeURI()”
Diferența 2: Aplicarea metodelor „decodeURIComponent()” și „decodeURI()” bazate pe „Parametrii”
Se poate observa clar în „Diferența 1” că „decodeURIComponent()” acceptă URI-ul codificat prin metoda „encodeURIComponent()” și „decodeURI()” funcționează pe URI-ul codificat prin metoda „encodeURI()” ca un parametru.
Diferența 3: Aplicarea metodelor „decodeURIComponent()” și „decodeURI()” bazate pe „Caractere decodificate”
A treia diferență între metodele „decodeURIComponent()” și „decodeURI()” poate fi analizată prin decodarea URI-ului specific. Să vedem practic.
Cod JavaScript
< scenariu >var uri = „@%20&%7F=%3A%41%26%3D”
consolă. Buturuga ( 'Ieșire(decodificareURIComponent()):' + decodeURIComponent ( tip ) )
consolă. Buturuga ( 'Ieșire(decodeURI()):' + decodeURI ( tip ) )
scenariu >
În secțiunea de script dată:
- Primul ' console.log() ” metoda afișează URI-ul decodat folosind „ decodeURIComponent() ” metoda.
- A doua metodă „console.log()” arată URI-ul decodat cu ajutorul „ decodeURI() ” metoda.
Ieșire
Consola arată clar că metoda „decodeURIComponent()” decodifică doar componenta URI care se află între caracterele „@ & =”, nu URI-ul complet.
Concluzie
JavaScript „ decodeURIComponent() ' si ' decodeURI() ” metodele diferă unele de altele în funcție de “ utilizare ”, “ parametrii ', si ' prescripţie ” factori. Diferența principală/semnificativă între ele este că „decodeURIComponent()” decodifică componenta URI, în timp ce metoda „decodeURI()” decodifică URI-ul complet. Acest ghid a explicat practic diferențele cheie dintre metodele decodeURIComponent() și decodeURI().