Maison interface Web js tutoriel Explication détaillée de l'utilisation de la fonction eval() dans les compétences JavaScript_javascript

Explication détaillée de l'utilisation de la fonction eval() dans les compétences JavaScript_javascript

May 16, 2016 pm 03:25 PM

La fonction

eval() évalue une chaîne JavaScript et l'exécute sous forme de code de script.

Si l'argument est une expression, la fonction eval() exécutera l'expression. Si l'argument est une instruction Javascript, eval() exécutera l'instruction Javascript.

Grammaire

Copier le code Le code est le suivant :

eval(chaîne)

参数 描述
string 必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。

Explication détaillée de l'utilisation de la fonction eval() :

Cette fonction n'est peut-être pas utilisée trop fréquemment, mais elle a un grand effet dans certains cas. Voici une introduction à l'utilisation de la fonction eval().

Cette fonction peut accepter une chaîne str comme paramètre et exécuter cette chaîne comme un morceau de code javascript Si le résultat de l'exécution de str est une valeur, elle renverra cette valeur, sinon elle renverra un défini. Si le paramètre n'est pas une chaîne, le paramètre est renvoyé directement. L'exemple est le suivant :

eval("var a=1");//声明一个变量a并赋值1。
eval("2+3");//执行加运算,并返回运算值。
eval("mytest()");//执行mytest()函数。
eval("{b:2}");//声明一个对象。
Copier après la connexion

Une attention particulière doit être portée au code ci-dessus. La dernière instruction déclare un objet. Si vous souhaitez renvoyer cet objet, vous devez imbriquer une autre couche de parenthèses à l'extérieur de l'objet, comme suit :

Copier le code Le code est le suivant :

eval("({b:2})");

Le contenu ci-dessus présente brièvement l'utilisation de la fonction eval(), qui est relativement facile à comprendre. La chose la plus déroutante à propos de cette fonction est sa portée. Présentons le contenu pertinent avec des exemples. Examinons d'abord un exemple de code :
.

function a(){ 
 eval("var x=1"); 
 console.log(x); 
} 
a(); 
console.log(x); 
Copier après la connexion

Dans le code ci-dessus, la première fonction alert() peut afficher 1, tandis que la seconde signalera une erreur car x n'est pas défini.
On peut conclure des performances ci-dessus que la fonction eval() ne crée pas de nouvelle portée et que sa portée est la portée dans laquelle elle se trouve. Cela est vrai dans tous les navigateurs traditionnels, mais il est parfois nécessaire de définir la portée de la fonction eval() sur la portée globale. Bien sûr, eval() peut être utilisé dans la portée globale, mais dans les applications réelles, c'est souvent le cas. Il est nécessaire de l'utiliser dans la portée locale. L'utilisation de cette fonction avec une portée globale peut être implémentée à l'aide de window.eval(). Par exemple, le code ci-dessus peut être transformé comme suit :
.

function a(){ 
 window.eval("var x=1"); 
 console.log(x); 
} 
a(); 
console.log(x); 
Copier après la connexion

Dans le code ci-dessus, les deux instructions alert() peuvent apparaître 1 normalement. Cependant, cette méthode est possible dans les navigateurs standards, mais les performances dans IE8 et les navigateurs inférieurs à IE8 sont toujours les mêmes que celles de eval(), et la portée est la portée où ils se trouvent. À l'heure actuelle, vous pouvez utiliser le window.execScript() unique du navigateur IE pour résoudre le problème des navigateurs IE8 et IE8. Afin d'être compatible avec tous les principaux navigateurs, le code est modifié comme suit :

function a(){ 
 if(window.execScript){ 
  window.execScript("var x=1"); 
 } 
 else{ 
  window.eval("var x=1"); 
 } 
 console.log(x); 
} 
a(); 
console.log(x); 
Copier après la connexion

Si le navigateur prend en charge window.execScript(), utilisez cette fonction. Si ce n'est pas le cas, utilisez window.eval(). Cela peut résoudre le problème d'IE8 et des navigateurs inférieurs à IE8.

Le contenu ci-dessus est une explication détaillée de l'utilisation de la fonction eval() en JavaScript partagée par l'éditeur. J'espère qu'il vous plaira.

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Apr 04, 2025 pm 02:42 PM

Des questions et des solutions fréquemment posées pour l'impression de billets thermiques frontaux pour le développement frontal, l'impression de billets est une exigence commune. Cependant, de nombreux développeurs mettent en œuvre ...

Qui est payé plus de python ou de javascript? Qui est payé plus de python ou de javascript? Apr 04, 2025 am 12:09 AM

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

Démystifier javascript: ce qu'il fait et pourquoi c'est important Démystifier javascript: ce qu'il fait et pourquoi c'est important Apr 09, 2025 am 12:07 AM

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Apr 04, 2025 pm 05:09 PM

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en JavaScript? Lors du traitement des données, nous rencontrons souvent la nécessité d'avoir le même ID ...

La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? Apr 04, 2025 pm 05:12 PM

Discussion approfondie des causes profondes de la différence de sortie Console.log. Cet article analysera les différences dans les résultats de sortie de la fonction Console.log dans un morceau de code et expliquera les raisons derrière. � ...

Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido?
ou:
Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido? ou: Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Apr 04, 2025 pm 05:36 PM

La discussion sur la réalisation des effets de défilement de parallaxe et d'animation des éléments dans cet article explorera comment réaliser le site officiel de Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ...

JavaScript est-il difficile à apprendre? JavaScript est-il difficile à apprendre? Apr 03, 2025 am 12:20 AM

Apprendre JavaScript n'est pas difficile, mais c'est difficile. 1) Comprendre les concepts de base tels que les variables, les types de données, les fonctions, etc. 2) Master la programmation asynchrone et les implémenter via des boucles d'événements. 3) Utilisez les opérations DOM et promettez de gérer les demandes asynchrones. 4) Évitez les erreurs courantes et utilisez des techniques de débogage. 5) Optimiser les performances et suivre les meilleures pratiques.

Comment implémenter la fonction de glisser-déposer et de régler la fonction de réglage similaire à VScode dans le développement frontal? Comment implémenter la fonction de glisser-déposer et de régler la fonction de réglage similaire à VScode dans le développement frontal? Apr 04, 2025 pm 02:06 PM

Explorez la mise en œuvre de la fonction de glisser et de réglage du panneau de type VScode dans le frontal. Dans le développement frontal, comment implémenter un VScode comme ...

See all articles