Apakah Perbezaan Antara kaedah decodeURIComponent() dan decodeURI() dalam JavaScript?

Apakah Perbezaan Antara Kaedah Decodeuricomponent Dan Decodeuri Dalam Javascript



JavaScript “ decodeURIComponent() ' dan juga ' decodeURI() ” kaedah berfungsi pada URI (Pengecam Sumber Seragam). Kaedah 'decodeURIComponent()' menyahkod komponennya manakala 'decodeURI()' menyahkodnya sepenuhnya. Oleh itu, takrifan mereka dengan jelas mengenal pasti perbezaan antara kedua-duanya tetapi mereka juga berbeza antara satu sama lain berdasarkan beberapa faktor lain.

Panduan ini menyenaraikan perbezaan antara kaedah decodeURIComponent() dan decodeURI().

Pertama, lihat asas-asas decodeURIComponent() dan juga decodeURI kaedah







sebelum beralih kepada perbezaan mereka.



Apakah Perbezaan Antara Kaedah 'decodeURIComponent()' dan 'decodeURI()' dalam JavaScript?

Bahagian ini mengandungi perbezaan ketara antara kaedah 'decodeURIComponent()' dan 'decodeURI()':



Syarat decodeURIComponent() decodeURI()
Penggunaan 'decodeURIComponent()' digunakan untuk menyahkod komponen URI yang dikodkan oleh kaedah 'encodeURIComponent()'. 'decodeURI()' digunakan untuk menyahkod URI penuh yang dikodkan dengan bantuan kaedah 'encodeURI'.
Parameter 'decodeURIComponent()' memerlukan URI 'dikodkan' oleh kaedah 'encodeURIComponent()' sebagai parameter wajib untuk penyahkodan. 'decodeURI()' memerlukan URI 'dikodkan' melalui kaedah 'encodeURI()' sebagai parameter pentingnya untuk melaksanakan operasi penyahkodan.
Had 'decodeURIComponent()' hanya menyahkod bahagian URI yang terletak di antara '; / ? : @ & = + $ , #” pemisah. Ia menganggap watak-watak ini sebagai teks, bukan watak istimewa. 'decodeURIComponent()' menyahkod URI yang lengkap.

Sekarang, lihat perbezaan yang dinyatakan secara praktikal.





Perbezaan 1: Menggunakan Kaedah 'decodeURIComponent()' dan 'decodeURI()' Berdasarkan 'Penggunaan'

Mengikut perbezaan pertama, kaedah 'decodeURIComponent()' menyahkod rentetan yang dikodkan melalui kaedah 'encodeURIComponent()' dan 'decodeURI()' menyahkod rentetan yang dikodkan melalui kaedah 'encodedURI()'.

Kod JavaScript

< skrip >

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

var dikodkan_URI = encodeURIComponent ( menaip ) ;

konsol. log ( 'Output(decodeURIComponent()):' + decodeURIComponent ( menaip ) )

var encoded_uri = encodeURI ( menaip ) ;

konsol. log ( 'URI dinyahkodkan:' + decodeURI ( dikodkan_uri ) ) ;

skrip >

Dalam coretan kod di atas:



  • Pembolehubah 'uri' memulakan URI (Pengecam Sumber Seragam).
  • Pembolehubah 'encoded_URI' menggunakan ' encodeURIComponent() ” kaedah untuk mengekod “uri” yang diluluskan sebagai parameternya.
  • Seterusnya, kaedah 'console.log()' menggunakan ' decodeURIComponent() ” kaedah untuk menyahkod rentetan yang dikodkan baru-baru ini dan kemudian memaparkannya dalam konsol.
  • Selepas itu, ' decodeURI() ' kaedah menyahkod URI yang dikodkan melalui ' encodeURI() ” kaedah yang dinyatakan dalam pembolehubah “encoded_uri”.

Pengeluaran

Nampak bahawa konsol menunjukkan URI yang dinyahkod menggunakan kaedah 'decodeURIComponent()' dan 'decodeURI()'.

Perbezaan 2: Menggunakan Kaedah 'decodeURIComponent()' dan 'decodeURI()' Berdasarkan 'Parameter'

Ia boleh dilihat dengan jelas dalam 'Perbezaan 1' bahawa 'decodeURIComponent()' menerima URI yang dikodkan melalui kaedah 'encodeURIComponent()' dan 'decodeURI()' berfungsi pada URI yang dikodkan melalui kaedah 'encodeURI()' sebagai satu parameter.

Perbezaan 3: Menggunakan Kaedah 'decodeURIComponent()' dan 'decodeURI()' Berdasarkan 'Decoded Characters'

Perbezaan ketiga antara kaedah 'decodeURIComponent()' dan 'decodeURI()' boleh dianalisis dengan menyahkod URI tertentu. Mari lihat secara praktikal.

Kod JavaScript

< skrip >

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

konsol. log ( 'Output(decodeURIComponent()): ' + decodeURIComponent ( menaip ) )

konsol. log ( 'Output(decodeURI()): ' + decodeURI ( menaip ) )

skrip >

Dalam bahagian skrip yang diberikan:

  • Yang pertama ' console.log() kaedah ” memaparkan URI yang dinyahkod menggunakan “ decodeURIComponent() ” kaedah.
  • Kaedah 'console.log()' kedua menunjukkan URI yang dinyahkod dengan bantuan ' decodeURI() ” kaedah.

Pengeluaran

Konsol dengan jelas menunjukkan bahawa kaedah 'decodeURIComponent()' hanya menyahkod komponen URI yang terletak di antara aksara '@ & =', bukan URI yang lengkap.

Kesimpulan

JavaScript “ decodeURIComponent() ' dan juga ' decodeURI() ' kaedah berbeza antara satu sama lain bergantung kepada ' penggunaan ”, “ parameter ', dan juga ' had ” faktor. Perbezaan utama/ketara antara satu sama lain ialah 'decodeURIComponent()' menyahkod komponen URI manakala kaedah 'decodeURI()' menyahkod URI yang lengkap. Panduan ini menerangkan secara praktikal perbezaan utama antara kaedah decodeURIComponent() dan decodeURI().