Maison > interface Web > js tutoriel > le corps du texte

Pourquoi la console JavaScript imprime-t-elle « Non défini » pour les déclarations de variables ?

Susan Sarandon
Libérer: 2024-10-20 08:39:02
original
807 Les gens l'ont consulté

Why Does JavaScript Console Print

Pourquoi la déclaration de variable JavaScript sur la console imprime « Non défini »

Lors de la déclaration d'une variable à l'aide du mot-clé var sur la console, on pourrait être surpris de voir « non défini » imprimé en conséquence.

La cause

En JavaScript, le mot-clé var déclare une variable, mais sans lui attribuer explicitement de valeur, elle reste indéfinie. Lorsqu'une instruction de déclaration de variable est évaluée sur la console, le résultat est la valeur de l'expression évaluée, qui, dans ce cas, est la variable non définie.

L'exception

Cependant, c'est il convient de noter que lorsqu'une variable est déclarée avec une affectation, le résultat imprimé est la valeur attribuée. Par exemple, var a = 5 affichera 5.

La complexité sous-jacente

Le comportement de la console lors du traitement des déclarations var peut être attribué à la sémantique du modèle d'évaluation JavaScript. Selon la spécification ECMAScript :

  • L'instruction var renvoie une valeur d'achèvement de (normal, vide, vide).
  • Le résultat d'une expression évaluée dans le cadre d'un SourceElement est renvoyé sauf si ce résultat est (normal, vide, vide).

Dans le cas de var a;, puisqu'il n'y a pas d'affectation, la valeur d'achèvement est (normal, vide, vide). Par conséquent, le résultat de l'évaluation n'est pas défini.

La surprise cachée

Une autre observation intéressante est que les déclarations de fonction renvoient également (normal, vide, vide) et s'impriment donc de manière indéfinie lorsqu'elles sont évaluées sur la console. Cependant, lorsqu'une fonction est déclarée sous forme d'expression, telle que (function f() {}), le résultat est la fonction elle-même. Cette distinction met en évidence la différence subtile entre les déclarations de fonction et les expressions de fonction en JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!