var a = 2; //我们习惯把这条语句当做一条声明
但是js引擎把它当做两条声明.
var a; //在编译时执行 同时var a;存在提升
a = 2;//在运行是执行 赋值lhs不会提升
===================================
console.log(a);//undefined
var a = 2;
var a = 2; //我们习惯把这条语句当做一条声明
但是js引擎把它当做两条声明.
var a; //在编译时执行 同时var a;存在提升
a = 2;//在运行是执行 赋值lhs不会提升
===================================
console.log(a);//undefined
var a = 2;