作用域

函数声明和变量声明都会被提升。但是,函数声明会覆盖变量声明

var a;
function a(){};
console.log(a);

如果变量存在赋值操作,则最终的值为变量的值

var a=1;
function a(){}
console.log(a);//1

解析如下

var a;
function a(){};
console.log(a);//'function a(){}'
a = 1;
console.log(a);//1

[注意]变量的重复声明是无用的,但函数的重复声明会覆盖前面的声明(无论是变量还是函数声明)

posted on 2021-01-18 20:30  Steven_YF  阅读(33)  评论(0编辑  收藏  举报