学科分类
目录
JavaScript网页编程

作用域的分类

通过前面的学习,我们知道变量需要先声明后使用,但这并不意味着,声明变量后就可以在任意位置使用该变量。例如,在函数中声明一个age变量,在函数外进行访问,就会出现age变量未定义的错误,示例代码如下。

function info() {

 var age = 18;

}

info();

console.log(age); // 报错,提示age is not defined(age未定义)

从上述代码可以看出,变量需要在它的作用范围内才可以被使用,这个作用范围称为变量的作用域。JavaScript根据作用域使用范围的不同,将其划分为全局作用域、函数作用域和块级作用域(ES6提供的)。上述示例声明的age变量只能在info()函数体内才可以使用。

接下来我们针对JavaScript中不同作用域内声明的变量进行介绍。

① 全局变量:不在任何函数内声明的变量(显式定义)或在函数内省略var声明的变量(隐式定义)都称为全局变量,它在同一个页面文件中的所有脚本内都可以使用。

② 局部变量:在函数体内利用var关键字定义的变量称为局部变量,它仅在该函数体内有效。

③ 块级变量:ES 6提供的let关键字声明的变量称为块级变量,仅在“{}”中间有效,如if、for或while语句等。

对于初学者来说,重点是理解全局变量和局部变量的区别,而块级变量和let关键字属于ES 6的新增内容,读者此时仅简单了解即可。

点击此处
隐藏目录