Maison >interface Web >js tutoriel >Pourquoi eval dans JS doit-il ajouter des parenthèses lors du traitement des compétences data_javascript JSON

Pourquoi eval dans JS doit-il ajouter des parenthèses lors du traitement des compétences data_javascript JSON

WBOY
WBOYoriginal
2016-05-16 16:04:291118parcourir

En raison de l'essor d'Ajax, JSON, un format de données léger, est progressivement devenu populaire comme format de transmission entre le client et le serveur. La question qui se pose est de savoir comment convertir les données JSON créées côté serveur sous une forme utilisable. . Objet JavaScript. Utiliser la fonction eval est sans aucun doute une méthode simple et directe. Lors de la conversion, vous devez envelopper la chaîne JSON avec une couche de parenthèses :

Copier le code Le code est le suivant :

var jsonObject = eval("(" jsonFormat ")");

Pourquoi ajouter des parenthèses ?

Le but de l'ajout de parenthèses est de forcer la fonction eval à convertir l'expression entre parenthèses en objet au lieu de l'exécuter en tant qu'instruction lors du traitement du code JavaScript. Par exemple, prenez l'objet littéral {}. Si aucun crochet extérieur n'est ajouté, alors eval reconnaîtra les accolades comme les marques de début et de fin du bloc de code JavaScript, et {} sera considéré comme exécutant une instruction vide. Les deux résultats d'exécution suivants sont donc différents :

Copier le code Le code est le suivant :

alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]

Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

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