Rumah  >  Artikel  >  hujung hadapan web  >  Panduan kepada beberapa cara untuk mengekod rentetan dalam kemahiran JS_javascript

Panduan kepada beberapa cara untuk mengekod rentetan dalam kemahiran JS_javascript

WBOY
WBOYasal
2016-05-16 15:59:151189semak imbas

Penerangan Fungsi
encodeURI() mengekod rentetan ke dalam URI
encodeURIComponent() mengekod rentetan ke dalam komponen URI
escape() mengekod rentetan

Di atas adalah untuk menanyakan data daripada w3school. Jadi apakah perbezaan antara ketiga-tiganya?

Salin kod Kod adalah seperti berikut:

var str = "http://localhost:8080/Product/index?id=123&attr=456&area=China";
console.log(encodeURI(str));
console.log(encodeURIComponent(str));
console.log(escape(str));

Hasil cetakan adalah seperti berikut:

Salin kod Kod adalah seperti berikut:

http://localhost:8080/Product/index?id=123&attr=456&area=China
http://localhost:8080/Product/index?id=123&attr=456&area=China
http://localhost:8080/Product/index?id=123&attr=456&area=%u4E2D%u56FD

Seperti yang anda lihat,

encodeURI tidak akan mengekod aksara yang digunakan untuk pembahagian dalam uri seperti:/?&;

encodeURIComponent akan.

Memerhatikan melarikan diri, kami mendapati bahawa :?& telah ditranskodkan, tetapi / tidak Penjelasan w3school ialah fungsi melarikan diri akan merawat semua aksara kecuali huruf, nombor dan simbol (* @ - _ . /) dalam kod ascii. .

Selain itu, kita dapat melihat bahawa hasil selepas melarikan diri mengekod aksara Cina "China" adalah berbeza daripada dua yang pertama. W3SCHOOL juga mengesyorkan agar tidak menggunakan kaedah ini dan sebaliknya menggunakan dua yang pertama.

Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu semua orang yang belajar javascript.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn