在JavaScript中,我们不能为变脸定义特定的块作用域,但是可以定义其所属的函数域。也就是说,如果变量是在某个函数中定义的,那么它在函数以外的地方是不可见的。如果变量是定义在if
或者for
这样的代码块中的,它在代码块之外是可见的。、
另外,在JavaScript中,“全局变量”指的是声明在所有函数之外的变量,“局部变量”指的是在某个函数中定义的变量。其中,函数内的代码可以像访问自己的局部变量那样访问全局变量,反之则不行。
注意:
如果我们声明一个变量时没有使用var语句,该变量就会被默认为全局变量。
在上面的代码中,我们在函数f()
中定义一个变量local
。在该函数被调用前,这个函数是不存在的,该变量会在该函数首次被调用的时候创建,并赋予全局作用域。这使得我们可以在该函数以外的地方访问它。
- 尽量将全局变量的数量降到最低
- 使用var语句来声明变量