


Introduction aux variables JS et à leurs points de connaissance sur la portée
(Remarque : il n'y a pas de mot-clé var lors de la déclaration des variables, mais les variables directement affectées sont des variables globales)
<script type="text/javascript"> function main() { n = 10;//这里的n为全局变量,可以被外部直接使用 } main(); alert(n); </script>
2 Dans le corps de la fonction, les variables locales ont une priorité plus élevée que les variables globales.
<script type="text/javascript"> //网上看到的我认为很有代表性的一个例子,在函数体外部和内部都申明了相同名字的变量,变量的作用域问题,例子如下: var n = 1; function test() { alert(n); //这里的a并不是全局变量,原因是函数体第四行申明了一个相同重名的局部变 //量a,如果把第四行a的申明注释掉,那么这里的a显示1,为全局变量。所以得 //出结论:全局变量a被局部变量a覆盖了。 //说明了JS函数在test()在执行前,函数体内的变量a都指向了局部变量,但本 //行输出的a在执行过程中还没有被赋值,所以显示undefined。 n = 2; alert(n); var n; //本行申明局部变量a alert(n); } test(); alert(n); </script>
D'après ma compréhension, la réponse finale de l'exemple ci-dessus devrait être : 1 2 2 1 ; mais la bonne réponse est : undefined 2 2 1 ; à l'extérieur et à l'intérieur du corps de la fonction Lorsqu'une variable est nommée, les variables locales remplacent les variables globales.
3. Comment lire les variables locales à l'intérieur du corps de la fonction depuis l'extérieur ?
De manière générale, seules les variables globales externes peuvent être obtenues directement de l'intérieur du corps de la fonction, mais les variables locales à l'intérieur du corps de la fonction ne peuvent pas être obtenues de l'extérieur. Cependant, cela peut être réalisé en définissant une autre fonction à l'intérieur du corps de la fonction pour renvoyer des variables locales, puis en appelant la fonction depuis l'extérieur.
<script type="text/javascript"> function f1() { var n = 10; function f2() {//在f1()内部再定义f2(),通过f2()访问f1()中的局部变量 alert(n); } return f2;//返回f1()局部变量n } var result = f1(); //在外部调用f1()函数,就能获取局部变量n的值 result(); // 10,即为n的值 </script>
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

typedef struct est utilisé en langage C pour créer des alias de type de structure afin de simplifier l'utilisation des structures. Il crée un alias pour un nouveau type de données sur une structure existante en spécifiant l'alias de la structure. Les avantages incluent une lisibilité améliorée, la réutilisation du code et la vérification du type. Remarque : La structure doit être définie avant d'utiliser un alias. L'alias doit être unique dans le programme et valide uniquement dans le périmètre dans lequel il est déclaré.

Les exceptions de valeur attendue des variables en Java peuvent être résolues en : initialisant les variables ; en utilisant des valeurs par défaut ; en utilisant des contrôles et des affectations et en connaissant la portée des variables locales ;

Les avantages des fermetures JavaScript incluent le maintien d'une portée variable, l'activation du code modulaire, l'exécution différée et la gestion des événements ; les inconvénients incluent les fuites de mémoire, la complexité accrue, la surcharge de performances et les effets de chaîne de portée.

La directive de préprocesseur #include en C++ insère le contenu d'un fichier source externe dans le fichier source actuel, en copiant son contenu à l'emplacement correspondant dans le fichier source actuel. Principalement utilisé pour inclure des fichiers d'en-tête contenant les déclarations nécessaires dans le code, telles que #include <iostream> pour inclure des fonctions d'entrée/sortie standard.

Cycle de vie des pointeurs intelligents C++ : Création : Les pointeurs intelligents sont créés lors de l'allocation de mémoire. Transfert de propriété : Transférer la propriété via une opération de déménagement. Libération : la mémoire est libérée lorsqu'un pointeur intelligent sort de la portée ou est explicitement libéré. Destruction d'objet : lorsque l'objet pointé est détruit, le pointeur intelligent devient un pointeur invalide.

Peut. C++ autorise les définitions et les appels de fonctions imbriquées. Les fonctions externes peuvent définir des fonctions intégrées et les fonctions internes peuvent être appelées directement dans la portée. Les fonctions imbriquées améliorent l'encapsulation, la réutilisabilité et le contrôle de la portée. Cependant, les fonctions internes ne peuvent pas accéder directement aux variables locales des fonctions externes et le type de valeur de retour doit être cohérent avec la déclaration de la fonction externe. Les fonctions internes ne peuvent pas être auto-récursives.

En JavaScript, les types de pointage de this incluent : 1. Objet global ; 2. Appel de fonction ; 3. Appel de constructeur 4. Gestionnaire d'événements 5. Fonction de flèche (héritant de this). De plus, vous pouvez définir explicitement ce que cela désigne à l'aide des méthodes bind(), call() et apply().

Dans Vue, il existe une différence de portée lors de la déclaration de variables entre let et var : Scope : var a une portée globale et let a une portée au niveau du bloc. Portée au niveau du bloc : var ne crée pas de portée au niveau du bloc, let crée une portée au niveau du bloc. Redéclaration : var permet de redéclarer les variables dans la même portée, ce qui n'est pas le cas.
