Maison >interface Web >js tutoriel >Guide de plusieurs façons d'encoder des chaînes dans les compétences JS_javascript

Guide de plusieurs façons d'encoder des chaînes dans les compétences JS_javascript

WBOY
WBOYoriginal
2016-05-16 15:59:151229parcourir

Description de la fonction
encodeURI() encode la chaîne en URI
encodeURIComponent() encode une chaîne dans un composant URI
escape() encode une chaîne

Ce qui précède consiste à interroger les données de w3school. Alors, quelle est la différence entre les trois ? S'il vous plaît, permettez-moi de le tester.

Copier le code Le code est le suivant :

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

Les résultats d'impression sont les suivants :

Copier le code Le code est le suivant :

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

Comme vous pouvez le constater,

encodeURI n'encodera pas les caractères utilisés pour la segmentation en uri tels que :/?&;

encodeURIComponent le fera.

En observant l'échappement, nous avons constaté que :?& a été transcodé, mais / ne l'a pas été. L'explication de w3school est que la fonction d'échappement traitera tous les caractères sauf les lettres, les chiffres et les symboles (* @ - _ . /) dans le code ascii. . Encoder.

De plus, on peut voir que le résultat après escape code le caractère chinois "Chine" est différent des deux premiers. W3SCHOOL recommande également de ne pas utiliser cette méthode et d’utiliser plutôt les deux premières.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à tous ceux qui apprennent le javascript.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn