var b=20
function sum(){
     b=8  //全局变量重新赋值
    return console.log(b);
    };
sum();
    console.log(b);

1.当函数中b 没有加var, b就为全局变量重新赋值,sum()调用函数,由于函数中b没有加var 所以为全局变量,b=8 重新赋值,所以当sum调用函数,b=8在当前作用域中有b的声明变量  sum();// 8    console.log(b) 打印全局变量 ,而全局变量被重新赋值,也为8

var b=20
function sum(){
    var b=8  //局部变量 
    return console.log(b);
    };
sum();
    console.log(b);

2.console.log(b)  输出的为全局变量 ,所以输出20 

 sum();调用函数 函数内的b为局部变量 var 的声明只能在当前作用域下访问

posted on 2020-06-10 08:47  F_Hark  阅读(81)  评论(0编辑  收藏  举报