Maison >interface Web >js tutoriel >Pourquoi la console JavaScript imprime-t-elle « Non défini » pour les déclarations de variables ?
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.
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.
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.
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 :
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.
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!