//变量作用域:
//所谓变量的作用域就是一个变量能够起作用的范围
//根据变量能够起作用的范围将变量分为
//全局变量
//局部变量
//变量的作用域决定了变量将来可以被访问的区域
//全局变量:
//在函数外部声明的变量就是:全局变量
//全局变量可以在页面任意位置被访问使用
//全局变量的作用域就是 '全局作用域'
//局部变量:
//在函数内部声名的变量就是:局部变量
//局部变量只能在声明这个变量的函数内部被访问使用
//局部变量的作用域就是 '局部作用域'
// 1.全局便变量:
//全局变量在全局作用域下 提升
console.log(num1);//undefined
console.log(num2);//undefined
//全局变量
var num1 = 10;
var num2 = 20;
//在全局访问全局变量
console.log(num1);//10
console.log(num2);//20
// 2.局部变量-函数
function fn1() {
console.log(num3);//undefined
//在局部访问全局变量
console.log(num1);//10
console.log(num2);//20
num1 *= 5 //在这里他没有加var意味着他现在是一个全局变量,它具有影响。
console.log(num1);//50
//局部变量
var num3 = 30;
//局部函数的内部 访问 这个局部变量
console.log(num3);//30
}
fn1();
//onsole.log(num3);// 在全局作用域访问局部变量是:访问不到,会报错 Error: num3 is not defined。
function fn2(n) {
//在一个函数中访问另外一个函数内部的局部变量是:访问不到,会报错。console.log(num3)//Error: num3 is not defined
console.log(num1);//50 因为在上一个函数局部里 num1他定义的是全局,所以在这里num1是:50。
console.log(n);//40 形参是局部变量,在外面是访问不到结果的。
}
fn2(40);
console.log(n);//Error: n is not defined 函数的形参也是一个局部变量,在函数外部访问不到!!