Heim Web-Frontend js-Tutorial 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"
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie wird der Variablenumfang einer PHP-Funktion bestimmt? Wie wird der Variablenumfang einer PHP-Funktion bestimmt? Apr 16, 2024 pm 04:51 PM

Der Variablenbereich in PHP ist in lokalen (innerhalb der Funktion), globalen (zugänglich innerhalb des Programms) und Klassenbereich (zugänglich innerhalb der Klasseninstanz) unterteilt. Das Schlüsselwort global kann lokale Variablen als globale Variablen deklarieren, und das Schlüsselwort static kann lokale Variablen als statische Variablen deklarieren und ihre Werte zwischen Funktionsaufrufen beibehalten.

Vertiefendes Verständnis des Golang-Funktionslebenszyklus und des Variablenumfangs Vertiefendes Verständnis des Golang-Funktionslebenszyklus und des Variablenumfangs Apr 19, 2024 am 11:42 AM

In Go umfasst der Funktionslebenszyklus Definition, Laden, Verknüpfen, Initialisieren, Aufrufen und Zurückgeben; der Variablenbereich ist in Funktionsebene und Blockebene unterteilt. Variablen innerhalb einer Funktion sind intern sichtbar, während Variablen innerhalb eines Blocks nur innerhalb des Blocks sichtbar sind .

Variabler Umfang und Lebenszyklus in der Go-Sprache Variabler Umfang und Lebenszyklus in der Go-Sprache Jun 01, 2023 pm 12:31 PM

Die Go-Sprache ist eine statisch typisierte Open-Source-Sprache. Sie zeichnet sich durch Einfachheit, Effizienz und Zuverlässigkeit aus und erfreut sich zunehmender Beliebtheit bei Entwicklern. In der Go-Sprache sind Variablen die grundlegendste Form der Datenspeicherung in Programmen. Der Umfang und der Lebenszyklus von Variablen sind für die Korrektheit und Effizienz des Programms sehr wichtig. Der Gültigkeitsbereich einer Variablen bezieht sich auf die Sichtbarkeit und Zugänglichkeit der Variablen, also darauf, wo auf die Variable zugegriffen werden kann. In der Go-Sprache ist der Variablenbereich in globale Variablen und lokale Variablen unterteilt. Globale Variablen sind außerhalb einer Funktion definierte Variablen und können überall im gesamten Programm verwendet werden

Wie definiere ich den Variablenbereich in der Golang-Funktion? Wie definiere ich den Variablenbereich in der Golang-Funktion? Apr 11, 2024 pm 12:27 PM

In Go beschränkt der Funktionsbereich die Sichtbarkeit von Variablen auf die Funktion, in der die Variable deklariert ist: Variablen innerhalb einer Funktion deklarieren: varnametype=value Der Gültigkeitsbereich ist auf den deklarierten Codeblock beschränkt, und andere Funktionen oder verschachtelte Blöcke können nicht auf diese Variablen zugreifen.

PHP 5.6-Variablenbereich: So definieren Sie statische Variablen mit dem Schlüsselwort static PHP 5.6-Variablenbereich: So definieren Sie statische Variablen mit dem Schlüsselwort static Jul 30, 2023 pm 11:02 PM

PHP5.6-Variablenbereich: So verwenden Sie das Schlüsselwort static zum Definieren statischer Variablen. In PHP bestimmt der Bereich einer Variablen die Sichtbarkeit und den Zugriffsbereich der Variablen. Eine statische Variable ist eine spezielle Art von Variable, deren Wert zwischen Funktionsaufrufen unverändert bleibt. In PHP5.6 und höher können Sie das Schlüsselwort static verwenden, um statische Variablen innerhalb von Funktionen und Klassenmethoden zu definieren. Die Merkmale statischer Variablen sind: Der Umfang statischer Variablen ist auf die Funktion oder Methode beschränkt, in der sie deklariert wird. Statische Variablen werden zwischen Funktions- oder Methodenaufrufen verwendet

So verwenden Sie Variablen in PHP So verwenden Sie Variablen in PHP May 20, 2023 pm 02:33 PM

PHP ist eine sehr beliebte Webentwicklungssprache, die es Entwicklern ermöglicht, dynamische Webanwendungen auf der Serverseite zu erstellen. In PHP ist eine Variable eine grundlegende Datenstruktur, die zum Speichern von Werten und Daten verwendet wird. In diesem Artikel wird die Verwendung von Variablen in PHP vorgestellt. Grundlegende Syntax von Variablen Die Syntax zum Deklarieren von Variablen in PHP ist sehr einfach. Variablennamen beginnen mit einem Dollarzeichen ($), gefolgt vom Variablennamen. Variablennamen können eine Kombination aus Buchstaben, Zahlen oder Unterstrichen sein, sie müssen jedoch mit einem Buchstaben oder einem Unterstrich beginnen. Der folgende Code deklariert beispielsweise einen Namen

Verwenden Sie die Funktion locals() von Python, um Variablen im aktuellen Bereich abzurufen Verwenden Sie die Funktion locals() von Python, um Variablen im aktuellen Bereich abzurufen Aug 21, 2023 pm 09:52 PM

Verwenden Sie die Funktion locals() von Python, um die Variablen des aktuellen Bereichs abzurufen. In Python ist locals() eine integrierte Funktion, die verwendet werden kann, um alle Variablen im aktuellen Bereich abzurufen. Diese Funktion gibt ein Wörterbuch zurück, das alle Variablennamen und entsprechenden Werte im aktuellen Bereich enthält. Während des Programmiervorgangs ist es sehr nützlich, die Variablen im aktuellen Bereich zu kennen, insbesondere während der Debugging-Phase, was uns helfen kann, den Wert und Status der Variablen anzuzeigen. Die Funktion locals() stellt genau diese Funktion bereit. Runter

Was ist der variable Umfang der Golang-Funktion? Was ist der variable Umfang der Golang-Funktion? Dec 22, 2023 pm 02:39 PM

Der Variablenumfang einer Golang-Funktion bezieht sich auf die Sichtbarkeit und den Lebenszyklus von Variablen innerhalb der Funktion. Je nach Position und Umfang der Variablen in der Funktion können Variablen in drei Typen unterteilt werden: lokale Variablen, Parametervariablen und Rückgabewertvariablen. Detaillierte Einführung: 1. Lokale Variablen sind innerhalb einer Funktion definierte Variablen und können nur innerhalb der Funktion verwendet werden, einschließlich aller Codeblöcke und verschachtelten Codeblöcke der Funktion Eingabeparameter, die von der Funktion empfangen werden und innerhalb der Funktion verwendet werden können. Ihr Geltungsbereich ist auf das Innere der Funktion usw. beschränkt.

See all articles