1。Javascript
作用域的分区标准是一个
函数函数块,而不是除以
函数f1(){
警报(在范围之前i);
未分配i(未声明)!使用未声明的变量或函数导致致命
错误和中断
脚本执行。
i值未定义
对于(var i = 0;i < 3;i + +){
警报(在范围内i);}
i的值是0,1,2。
警报(用于范围后:+ 1);
i的值为3,现在超出了作用域,但i的值仍然为3。
当(真){
var j=1;
break;}
警报(j);
的值为1,现在超出了作用域,但j的值仍然为1。
如果(真){
var = 1;
}
警报(k);
的值是1,现在在IF范围之外,但k的值仍然是1。
}
(F1);
此时,在函数块调用函数中,我再次在F1函数范围内再次输出变量。
警报(一);
错误!!!
原因是,在这里我不说(不指定,输出从F1的第一行),脚本错误,
程序的结束!
警报(j);
未执行
警报(k);
未执行
二,Javascript将整个脚本
文件执行之前,分析脚本文件中声明的一部分,包括局部变量的部分,以确定实际变量的范围。例如,如下:
变量x=1;
函数F2(){
警报(x);
的值是未定义的!这个x不是全局变量,因为函数作用域中的局部变量也已经声明了一个名称,所以全局变量的
参数将被覆盖。
这表明,Javascript是预编译的执行之前,与x的函数是针对一个局部变量,而不是全局变量。在这一点上,X只声明不指定一个值,因此它是不确定的
x=3;
警报(x);
该值为3。但局部变量
var x;
本地变量x 此处声明
警报(x);
3
}
(F2);
警报(x);
x值是1,而不是函数作用域,x的值是全局变量的值。
三,当全局变量名为局部变量时,局部变量作用域将覆盖全局变量范围,当离开局部变量作用域时,返回到全局变量范围,当局部变量中的全局变量时,
我们如何使用全局变量使用window.globalvariablename。
var a=1;
函数F3(){
警报(窗口);
1位,而A是全局变量。
var a=2;
警报(a);
}
(F3);
警报(a);
上述讨论关于Javascript的全局变量和局部变量
都是萧边
分享你的内容。我希望能给你一个
参考,希望你能得到很多
支持。