在一些类似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
}