js声明

var a = 2; //我们习惯把这条语句当做一条声明

但是js引擎把它当做两条声明.

var a; //在编译时执行  同时var a;存在提升

a = 2;//在运行是执行  赋值lhs不会提升

===================================

console.log(a);//undefined

var a = 2;

原文地址:https://www.cnblogs.com/a-flydog/p/5526291.html