


Wie deklariere ich den Gültigkeitsbereich einer JS-Variablen? Detaillierte Erläuterung von Scope-Beispielen innerhalb von Funktionen
Jul 18, 2017 am 10:50 AMDer Umfang einer Variablen bezieht sich auf die Sichtbarkeit der Variablen, während der Lebenszyklus (Überlebenszeitraum) die Variable aus einer anderen Perspektive untersucht.
Der Umfang der Variablen in JS ist in globale Variablen und lokale Variablen unterteilt. Die innerhalb der Funktion definierten Variablen werden als lokale Variablen bezeichnet, und die außerhalb der Funktion definierten Variablen werden als globale Variablen bezeichnet. („Dinge außerhalb einer Funktion werden globale Variablen genannt“ sind relativ. Die hier diskutierte Prämisse ist, dass Variablen explizit mit var deklariert werden. Variablen, die innerhalb einer Funktion ohne var definiert werden, sind standardmäßig globale Variablen. Natürlich ist die Deklaration von Variablen ohne var verpönt. ).
var glob = 4;//函数外声明全局变量 function fun() { var height = 20; //函数内用var声明的是局部变量 weight = 50; //函数内不用var声明的是全局变量 } fun(); alert(weight);
In JS gibt es keinen Bereich auf Blockebene, das heißt, er ist in geschweifte Klammern {} eingeschlossen. Gibt es in Java. Schreiben Sie den folgenden Code in die Hauptmethode
public static void main(String... args) { for(int i=0;i<5;i++) { } { int j=10; } int z = 20; System.out.println(i); // i不可见,语法分析时报错,即编译不通过 System.out.println(j); // j不可见,语法分析时报错,即编译不通过 System.out.println(z); // z可见,输出20 }
, aber wenn dies in JS
for(var i=0;i<5;i++) { } var obj = {name:"Lily"}; for(var attr in obj) { } { var j=10; } alert(i);//输出4,没有块级作用域 alert(attr); //输出name,没有块级作用域 alert(j);//输出10,没有块级作用域
auch ein Problem darstellt, vermeiden Sie die Verwendung einer for-Schleife im globalen Bereich und deklarieren Sie Variablen am Gleichzeitig führt dies andernfalls zu einer Verschmutzung des globalen Namensbereichs.
Natürlich hat JS1.7 das Schlüsselwort let zum Deklarieren von Variablen vorgeschlagen, das nur für den Bereich der for-Anweisung gilt.
for(let i=0;i<5;i++) { //todo } alert(i);//运行时报错,提示i未定义
Beispiel für den Umfang von Variablen in einer JS-Funktion:
<html> <head> </head> <body> <script type="text/javascript"> var a = 5; var c = 3; function t(){ var a = 6; var b = 10; document.write(a+'-----'+b); document.write(c); } t(); </script> </body> </html>
Anders als PHP: Wenn Sie eine Variable in einer JS-Funktion aufrufen möchten, sucht diese zunächst innerhalb der Funktion. Im Beispiel ist a gleich 6, aber c kann nicht im Funktionskörper gefunden werden. Wenn es gefunden wird, wird es aufgerufen wird einen Fehler melden.
Das obige ist der detaillierte Inhalt vonWie deklariere ich den Gültigkeitsbereich einer JS-Variablen? Detaillierte Erläuterung von Scope-Beispielen innerhalb von Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Verwendung der Typedef-Struktur in der C-Sprache

So lösen Sie die in Java erwartete Variable

Vor- und Nachteile von Verschlüssen in js

C++-Smartpointer: eine umfassende Analyse ihres Lebenszyklus

Es gibt mehrere Situationen, auf die dies in js hinweist

Können die Definition und der Aufruf von Funktionen in C++ verschachtelt werden?

Der Unterschied zwischen let und var in vue
