全局变量作用域
在函数外面声明的变量,在任何位置都可以使用
局部变量作用域
在函数内部声明的变量,在函数外面就不能使用,只能在声明它的函数使用
javascript
let name = 'tom' //全局变量,在任何位置都可以访问
function f1()
{
let age = 18 //局部变量,当函数结束,变量会销毁
console.log(name)
console.log(age)
}
f1()
console.log(age)
上面的代码是在f1函数里面声明了一个age变量,name变量在函数外声明,在f1函数里面,这两个变量都能执行,但是在函数外面age变量则执行不了。
块级作用域
主要是let关键字,在{}中使用let声明的变量,只能在这个代码块里面使用,var则不受这个限制
javascript
if(true)
{
var a=2
let b=3
console.log("a的值"+a)
console.log("b的值"+b)
}
console.log("a的值"+a)
console.log("b的值"+b)
这段代码在{}声明了a,b两个变量,分别用var和let声明,var声明的变量可以在代码块外执行,let声明的出了代码块就不能执行了