在一些类似C语言的编程语言,具有自己的花括号中的每一段代码的范围,和变量是不可见的在他们之外的代码语句,我们称之为块级范围(块范围),但不是在Javascript块级范围。相反,Javascript的使用功能(范围):变量是在函数体和宣布任何函数的嵌套定义。在下面的代码中,我,J和K在不同的位置定义的,它们都在相同的范围定义。

复制代码代码如下所示:

函数文本(o)

{

var I=0;

警报(typeof O);

如果(typeof啊= =字符串)

{

var j=0;

对于(k=0;k<10;k +)

{

警报(K); / / 0-9输出

}

警报(k);输出10

}

警报(j);输出0

}



Javascript的函数范围意味着函数中声明的所有变量在函数中总是可见的,这很有趣,这意味着在声明之前变量就可以使用了。(Javascript)函数中声明的所有变量(不涉及赋值)被推进到函数体的顶部。

复制代码代码如下所示:

全局变量=内;

函数globals()

{

警报(全局);未定义的

全局变量=你好qdao ;

警报(全球); / /你好qdao

}



由于函数作用域的性质,局部变量总是在整个函数体中定义,即函数体中的变量覆盖同一名称的全局变量,但当程序执行到var语句时,则真正分配局部变量。因此,上述过程相当于将函数中变量的声明推进到函数主体的顶部,并在初始位置初始化同事变量。

复制代码代码如下所示:

全局变量=内;

函数globals()

{



全局变量;

警报(全局);未定义的

全球=你好qdao ;

警报(全球); / /你好qdao

}