Heim > Web-Frontend > js-Tutorial > Hauptteil

Was sind die Nachteile von var in JavaScript?

青灯夜游
Freigeben: 2023-01-07 11:41:19
Original
4396 Leute haben es durchsucht

Fehler von var in JavaScript: 1. Von var definierte Variablen haben keinen Blockbereich. 2. Von var definierte globale Variablen fügen automatisch Attribute des globalen Fensterobjekts hinzu. 3. Von var definierte Variablen werden im Voraus geladen.

Was sind die Nachteile von var in JavaScript?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Die Verwendung von var zum Definieren von Variablen kann zu folgenden Problemen führen:

  • Von var definierte Variablen haben keinen Blockbereich.
  • Durch var definierte globale Variablen fügen automatisch Attribute des globalen Fensterobjekts hinzu.
  • Variablen, die durch var definiert sind, werden im Voraus geladen.

Wie kann man also die Mängel von var ausgleichen? Sie können das Schlüsselwort „let“ verwenden, um das oben genannte Problem zu lösen Oben: Das Programm verwendet let in der for-Schleife, um den Schleifenzähler zu definieren, sodass der Schleifenzähler i nur in der for-Schleife gültig ist, sodass das Programm einen Fehler meldet, wenn auf die i-Variable außerhalb des Schleifenkörpers zugegriffen wird. Wenn Sie var zum Definieren der i-Variablen verwenden, wird der Gültigkeitsbereich außerhalb der Schleife erweitert.

2. Durch let definierte globale Variablen werden nicht automatisch zu den Eigenschaften des Fensterobjekts hinzugefügt:

Schauen wir uns ein weiteres Beispiel an:

<script>
	for(let i = 0;i < 10; i++){
		console.log(i);
	}
	console.log("循环体之外:" + i);//报错:letScope.html:5 Uncaught ReferenceError: i is not defined
</script>
Nach dem Login kopieren

Laufergebnisse:
Was sind die Nachteile von var in JavaScript?

Der obige Code verwendet let, um a zu definieren globaler Variablenname, aber anders als bei der Verwendung von var zum Definieren globaler Variablen werden mit let definierte globale Variablen nicht zu Attributen des Fensterobjekts. Wenn Sie also das obige Programm ausführen, um auf window.name zuzugreifen, wird keine Ausgabe angezeigt.

3. Mit let definierte Variablen werden nicht im Voraus geladen:

Sehen Sie sich das folgende Beispiel an:

<script>
	let name = &#39;巴啦啦&#39;;
		console.log(name); //输出巴啦啦
		console.log(window.name); //window.name不存在
</script>
Nach dem Login kopieren
Ausführungsergebnisse:

Was sind die Nachteile von var in JavaScript?

Mit let definierte Variablen warten nicht, bis der Programmfluss die Zeile erreicht Der Code, in dem die Variable definiert ist, wird reproduziert. Das obige Programm definiert zunächst einen globalen Variablennamen und verwendet dann die Funktion func(), um eine Namensvariable mit demselben Namen zu definieren. Zu diesem Zeitpunkt überschreibt der lokale Variablenname die globale Namensvariable. Da mit let definierte Variablen jedoch nicht im Voraus geladen werden, verursacht die Funktion func () einen Fehler, wenn auf die Namensvariable zugegriffen wird, bevor let zum Definieren des lokalen Variablennamens verwendet wird -----

Wenn das Schlüsselwort der Namensvariablen ist ist in der Funktion func() definiert. Eine Änderung in var hat unterschiedliche Auswirkungen.

Die geänderten Ausführungsergebnisse lauten wie folgt:

Was sind die Nachteile von var in JavaScript?

Zusammenfassend gleicht das Schlüsselwort let die Mängel von var aus.

Das obige ist der detaillierte Inhalt vonWas sind die Nachteile von var in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage