-
作用域可以理解为可访问变量的集合,分为两种:
- 全局变量
变量在函数外定义,或者在函数内没有被声明,则为全局变量,有全局作用域,网页中所有脚本和函数均可使用。 - 局部变量
变量在函数内被声明,为局部变量,只能在函数的内部访问。
- 全局变量
-
函数作用域:
在一个声明变量的函数内,无论被声明的变量在函数的任何位置,此变量都会被访问。
在函数中的变量被访问时,变量会实现函数提升,举例如下:
例1:var a = 10; function test(){ console.log(a); var a = 100;//将函数里的变量提升到函数最上面 console.log(a); } test()
实现函数提升后,其实际执行的代码为
var a = 10; function test(){ var a; console.log(a);//因为 var a 未赋值,所以是underfined var a = 100; console.log(a); } test()
运行结果为:
underfined
100
例2://这一段相当于被函数包在内部,所以两个变量都要提升,并且提升到这段最上面 var a = 10; if(true){ var a = 100; console.log(a); } console.log(a);
实现函数提升后,其实际执行的代码为
var a; var a; var a = 10; if(true){ var a = 100; console.log(a); } console.log(a);
运行结果为:
100
100
JavaScript 作用域
最新推荐文章于 2024-04-07 22:18:47 发布