Maison interface Web js tutoriel JavaScript 变量作用域分析_javascript技巧

JavaScript 变量作用域分析_javascript技巧

May 16, 2016 pm 06:05 PM
变量作用域

复制代码 代码如下:

/* 代码1 */
var scope = "global ";
function checkScope() {
var scope = "local ";
function childCheck() {
var scope = "childLocal ";
document.write(scope);
}
function childUndefined() {
document.write(scope);
var scope;
}
function childOverride() {
scope = "childOverride ";
document.write(scope);
}
document.write(scope); //输出"local"
childCheck(); //输出"childLocal"
childUndefined(); //输出"undefined"
childOverride(); //输出"childOverride"
document.write(scope); //输出"childOverride"
}
checkScope(); //输出"local childLocal undefinedchildOverride childOverride"
document.write(scope); //输出"global "

全局作用域与局部作用域
全局(global)变量的作用域是全局的,在Javascript中处处有定义;而函数内部声明的变量是局部(local)变量,其作用域是局部性的,只在函数体内部有定义。对于下面的输出读者应不会感到意外。
复制代码 代码如下:

/* 代码2 */
var scope = "global";
function checkScope() {
var scope = "local";
document.write(scope);
}
checkScope(); //输出"local"
document.write(scope); //输出"global"

全局变量作用域中使用变量可以不用var语句,但在声明局部变量是一定要使用var语句,否则会视为对全局变量的引用。看下面代码:
复制代码 代码如下:

/* 代码3 */
var scope = "global";
function checkScope() {
scope = "local";
document.write(scope);
}
checkScope(); //输出"local"
document.write(scope); //输出"local"

没有块作用域
Javascript没有块级作用域,函数中声明的变量在整个函数中都是有定义的。对于下面的代码对于生疏的读者可能颇感意外:
复制代码 代码如下:

/* 代码4 */
var scope = "global";
function checkScope() {
document.write(scope); //语句4.1
var scope = "local"; //语句4.2
document.write(scope);
}
checkScope(); //输出"undefinedlocal"

由于语句4.1(var scope = "local";)声明的变量在整个checkScope函数作用域内都有效,因此在语句4.2(document.write(scope); )执行的时scope引用的是局部变量,而此时局部变量scope尚未定义,所以输出”undefined”。因此一个好的编程习惯是将所有的变量声明集中起来放在函数的开头。

在了解了上述内容之后,读者再看看代码1应该不会感到困惑了。

对象的属性变量
对象的属性变量比较容易理解,看一下下面的代码读者应该不会感到疑惑。
复制代码 代码如下:

/* 代码5 */
var scope = "global ";
var obj = new Object();
obj.scope = "object ";
obj.checkScope = function () {
var scope = "loacl ";
document.write(scope); //输出"loacl"
document.write(this.scope); //输出"object"
document.write(window.scope); //输出"global"
}
obj.checkScope(); //输出"loacl object global"
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)

Comment est déterminée la portée variable d'une fonction PHP ? Comment est déterminée la portée variable d'une fonction PHP ? Apr 16, 2024 pm 04:51 PM

La portée des variables en PHP est divisée en portée locale (au sein de la fonction), globale (accessible dans le programme) et portée de classe (accessible dans l'instance de classe). Le mot-clé global peut déclarer des variables locales comme variables globales, et le mot-clé static peut déclarer des variables locales comme variables statiques, en conservant leurs valeurs entre les appels de fonction.

Compréhension approfondie du cycle de vie des fonctions Golang et de la portée variable Compréhension approfondie du cycle de vie des fonctions Golang et de la portée variable Apr 19, 2024 am 11:42 AM

Dans Go, le cycle de vie de la fonction comprend la définition, le chargement, la liaison, l'initialisation, l'appel et le retour ; la portée des variables est divisée en niveau de fonction et au niveau du bloc. Les variables d'une fonction sont visibles en interne, tandis que les variables d'un bloc ne sont visibles que dans le bloc. .

Portée et cycle de vie variables en langage Go Portée et cycle de vie variables en langage Go Jun 01, 2023 pm 12:31 PM

Le langage Go est un langage open source à typage statique. Il présente les caractéristiques de simplicité, d'efficacité et de fiabilité et est de plus en plus apprécié par les développeurs. Dans le langage Go, les variables constituent la forme la plus élémentaire de stockage de données dans les programmes. La portée et le cycle de vie des variables sont très importants pour l'exactitude et l'efficacité du programme. La portée d'une variable fait référence à la visibilité et à l'accessibilité de la variable, c'est-à-dire à l'endroit où la variable est accessible. En langage Go, la portée des variables est divisée en variables globales et variables locales. Les variables globales sont des variables définies en dehors d'une fonction et peuvent être utilisées n'importe où dans l'ensemble du programme.

Comment définir la portée d'une variable dans la fonction Golang ? Comment définir la portée d'une variable dans la fonction Golang ? Apr 11, 2024 pm 12:27 PM

Dans Go, la portée de la fonction limite la visibilité des variables à la fonction où la variable est déclarée : Déclarez les variables dans une fonction : varnametype=value La portée est limitée au bloc de code déclaré et les autres fonctions ou blocs imbriqués ne peuvent pas accéder à ces variables.

Portée des variables PHP 5.6 : Comment définir des variables statiques à l'aide d'un mot-clé static Portée des variables PHP 5.6 : Comment définir des variables statiques à l'aide d'un mot-clé static Jul 30, 2023 pm 11:02 PM

Portée de la variable PHP5.6 : Comment utiliser le mot-clé static pour définir des variables statiques En PHP, la portée d'une variable détermine la visibilité et la portée d'accès de la variable. Une variable statique est un type spécial de variable qui conserve sa valeur inchangée entre les appels de fonction. En PHP5.6 et versions ultérieures, vous pouvez utiliser le mot-clé static pour définir des variables statiques dans les fonctions et les méthodes de classe. Les caractéristiques des variables statiques sont les suivantes : la portée des variables statiques est limitée à la fonction ou à la méthode dans laquelle elles sont déclarées. Les variables statiques sont utilisées entre les appels de fonction ou de méthode

Comment utiliser les variables en PHP Comment utiliser les variables en PHP May 20, 2023 pm 02:33 PM

PHP est un langage de développement Web très populaire qui permet aux développeurs de créer des applications Web dynamiques côté serveur. En PHP, une variable est une structure de données de base utilisée pour stocker des valeurs et des données. Cet article explique comment utiliser les variables en PHP. Syntaxe de base des variables La syntaxe de déclaration des variables en PHP est très simple. Les noms de variables commencent par un signe dollar ($), suivi du nom de la variable. Les noms de variables peuvent être une combinaison de lettres, de chiffres ou de traits de soulignement, mais ils doivent commencer par une lettre ou un trait de soulignement. Par exemple, le code suivant déclare un nom

Utilisez la fonction locals() de Python pour obtenir des variables dans la portée actuelle Utilisez la fonction locals() de Python pour obtenir des variables dans la portée actuelle Aug 21, 2023 pm 09:52 PM

Utilisez la fonction locals() de Python pour obtenir les variables de la portée actuelle. En Python, locals() est une fonction intégrée qui peut être utilisée pour obtenir toutes les variables de la portée actuelle. Cette fonction renvoie un dictionnaire contenant tous les noms de variables et les valeurs correspondantes dans la portée actuelle. Pendant le processus de programmation, il est très utile de connaître les variables dans la portée actuelle, en particulier pendant la phase de débogage, ce qui peut nous aider à visualiser la valeur et l'état des variables. La fonction locals() fournit exactement cette fonction. Vers le bas

Quelle est la portée variable de la fonction Golang Quelle est la portée variable de la fonction Golang Dec 22, 2023 pm 02:39 PM

La portée variable d'une fonction Golang fait référence à la visibilité et au cycle de vie des variables à l'intérieur de la fonction. Selon la position et la portée des variables dans la fonction, les variables peuvent être divisées en trois types : variables locales, variables de paramètre et variables de valeur de retour. Introduction détaillée : 1. Les variables locales sont des variables définies à l'intérieur d'une fonction et ne peuvent être utilisées qu'à l'intérieur de la fonction, leur portée est limitée à l'intérieur de la fonction, y compris tous les blocs de code et les blocs de code imbriqués de la fonction. paramètres d'entrée reçus par la fonction et pouvant être utilisés à l'intérieur de la fonction. Leur portée est limitée à l'intérieur de la fonction, etc.

See all articles