1. Variablen und ihr Geltungsbereich: Variablen werden in „globale Variablen“ und „lokale Variablen“ unterteilt. „Globale Variablen“ werden außerhalb der Funktion deklariert und können von allen Funktionen verwendet werden, während „lokale Variablen“ innerhalb des Funktionskörpers deklariert werden kann nur innerhalb des Funktionskörpers verwendet werden, in dem die Variable definiert ist.
(Hinweis: Beim Deklarieren von Variablen gibt es kein Schlüsselwort var, aber direkt zugewiesene Variablen sind globale Variablen)
<script type="text/javascript">
function main() {
n = 10;//这里的n为全局变量,可以被外部直接使用
}
main();
alert(n);
</script>
Nach dem Login kopieren
2 Im Funktionskörper haben lokale Variablen eine höhere Priorität als globale Variablen.
<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>
Nach dem Login kopieren
Nach meinem Verständnis sollte die endgültige Ausgabeantwort des obigen Beispiels lauten: 1 2 2 1; Die richtige Antwort lautet jedoch: undefiniert 2 2 1; außerhalb und innerhalb des Funktionskörpers. Wenn eine Variable benannt wird, überschreiben lokale Variablen globale Variablen.
3. Wie liest man die lokalen Variablen innerhalb des Funktionskörpers von außen?
Im Allgemeinen können nur externe globale Variablen direkt aus dem Funktionskörper abgerufen werden, lokale Variablen innerhalb des Funktionskörpers können jedoch nicht von außen abgerufen werden. Dies kann jedoch erreicht werden, indem eine andere Funktion innerhalb des Funktionskörpers definiert wird, um lokale Variablen zurückzugeben, und die Funktion dann von außen aufgerufen wird.
<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>
Nach dem Login kopieren
Das obige ist der detaillierte Inhalt vonEinführung in JS-Variablen und ihre Wissenspunkte zum Umfang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!