Maison > interface Web > js tutoriel > Pourquoi « Non défini » est-il affiché pour les déclarations de variables dans la console JavaScript ?

Pourquoi « Non défini » est-il affiché pour les déclarations de variables dans la console JavaScript ?

Mary-Kate Olsen
Libérer: 2024-10-20 08:42:02
original
519 Les gens l'ont consulté

Why Is

Pourquoi « undéfini » est-il imprimé lors de la déclaration de variables dans la console JavaScript ?

Contrairement à d'autres environnements, la déclaration de variables dans la console à l'aide du Le mot clé "var" n'entraîne pas l'attribution d'une valeur à la variable. Au lieu de cela, la console affiche « undéfini ».

Comprendre l'expression

Contrairement à ce que cela peut paraître, "var a;" est une expression valide qui renvoie la valeur « indéfini ». En effet, déclarer une variable sans lui attribuer de valeur crée effectivement une variable non initialisée, qui a une valeur par défaut de « non définie ».

Le comportement d'Eval

Le La console JavaScript utilise la fonction « eval » pour évaluer les expressions. Selon la spécification eval, si une expression est évaluée à une valeur vide (telle qu'une variable non initialisée), « non défini » est renvoyé.

Impact sur les autres déclarations

Fait intéressant, ce comportement s'étend à d'autres déclarations « var » et fonctions. Si une instruction ultérieure a un résultat « réel », la console ignorera les déclarations « var » et de fonction et affichera le résultat de l'autre instruction. Par exemple :

> var a = 3; var a = 4; var a = 5; function f() {};
4 // !!!
Copier après la connexion

Pourquoi l'exception avec les affectations

Dans le cas des affectations ("var a = 4;"), le comportement change car l'affectation L'instruction a un résultat non vide (la valeur attribuée). Ce résultat remplace le résultat vide de la déclaration "var" précédente.

Déclarations de fonction et expressions

Bien que les déclarations de fonction et les expressions utilisent le mot-clé "var", ils sont évalués différemment. Les déclarations de fonction (par exemple, "function f() {}") sont évaluées comme "indéfinies" (similaire aux déclarations de variables), tandis que les expressions de fonction (par exemple, "(function f() {})") sont évaluées comme la fonction elle-même.

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