var a = 20
function fn(a){
console.log(a) //10
}
fn(10)
var 定义的是全局变量,函数体内的是局部变量
var b = 30
function fn(){
var a = 20
console.log(a) //20
console.log(b) //30
}
fn()
function fn(){
var a = 20
}
console.log(a) //报错
作用域一般针对函数来说,在es5中函数的代码块内部的代码 可以访问形参变量,也可以访问外部的变量 就近优先,函数外面的代码 不能直接访问函数内部的变量。
作用域指的就是一个变量,在哪些代码范围能够被使用,这些大方就是变量的作用域
var a = 20 //全局变量 变量会在程序运行时 把它设置成window对象的属性
function fn(){
a = 40
}
fn()
console.log(a); //40
function fm(){
a=60
}
fm()
console.log(a) //60
a = 100
console.log(a) //100
//局部变量就是函数内部能够使用,外部不能使用的变量
function fn(){
var b=20
}
console.log(b) //报错