Rumah >hujung hadapan web >tutorial js >Apakah perbezaan antara fungsi unescape() dan escape() dalam JavaScript?
JavaScript menyediakan dua fungsi untuk mengendalikan rentetan yang dikodkan: escape() dan unescape(). Fungsi escape() digunakan untuk mengekod rentetan supaya ia boleh digunakan dengan selamat dalam URL. Fungsi unescape() digunakan untuk menyahkod rentetan yang dikodkan.
Perbezaan utama antara kedua-dua fungsi ialah escape( ) mengekod aksara bukan ASCII, manakala unescape() hanya menyahkod aksara ini. Ini bermakna jika anda menggunakan escape() pada rentetan yang mengandungi hanya aksara ASCII, hasilnya akan sama dengan rentetan input. Walau bagaimanapun, jika anda menggunakan unescape() pada rentetan yang mengandungi aksara bukan ASCII, hasilnya mungkin berbeza daripada rentetan input. Fungsi
escape() biasanya digunakan apabila mengekod parameter URL atau segmen laluan. Sebagai contoh, jika anda ingin mengekod rentetan "Hello world!" untuk digunakan dalam URL, anda boleh menggunakan fungsi escape() seperti yang ditunjukkan di bawah -
var encodedString = escape("Hello world!");
unescape() Fungsi ini biasanya digunakan semasa menyahkod URL parameter atau segmen laluan apabila digunakan. Contohnya, jika anda ingin menyahkod rentetan "Hello%20world!" (iaitu versi "Hello world!" yang dikodkan), anda boleh menggunakan fungsi unescape() seperti yang ditunjukkan di bawah -
var decodedString = unescape("Hello%20world!");
Ini adalah Contoh Kod kerja lengkap -
<script> var encodedString = escape("Hello world!"); var decodedString = unescape(encodedString); document.getElementById("result1").innerHTML = "Encoded String: " + encodedString document.getElementById("result2").innerHTML = "Decoded String: " + decodedString </script>
Berikut ialah faedah menggunakan fungsi escape() dan unescape() - Fungsi
escape() boleh digunakan untuk mengekod rentetan()
untuk digunakan dalam URL. Fungsiunescape()
boleh digunakan untuk menyahkod rentetan yang dikodkan.unescape() boleh digunakan untuk menyahkod rentetan berniat jahat, yang mungkin membawa kepada kelemahan keselamatan. Fungsi
unescape() hanya berfungsi dengan aksara ASCII. Jika anda perlu mengekod/menyahkod rentetan yang mengandungi aksara bukan ASCII, anda harus menggunakan skema pengekodan/penyahkodan yang berbeza, seperti UTF-8.
Ringkasnya, fungsi escape()
danescape() mengekod aksara bukan ASCII, manakala unescape() hanya menyahkod aksara ini. Fungsi ini boleh digunakan untuk memastikan bahawa rentetan selamat untuk digunakan dalam URL. Walau bagaimanapun, fungsi ini tidak boleh digunakan untuk menyahkod rentetan yang dikodkan menggunakan skema pengekodan yang berbeza (seperti UTF-8).
unescape() telah ditamatkan. Gunakan encodeURI atau encodeURIComponent() dan gunakan decodeURI() atau decodeURIComponent() sebaliknya.
Atas ialah kandungan terperinci Apakah perbezaan antara fungsi unescape() dan escape() dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!