面试时候被问到var a=1和a=1的区别没打上来,遗憾啊
测试
先来测试一波var a=1和a=1的区别吧
console.log(b) // 会报错
b = 1
VM249:1 Uncaught ReferenceError: b is not defined
at <anonymous>:1:13
console.log(a) // 后续使用var定义变量,不会报错,没有初始化会显示undefined
var a = 1
VM215:1 undefined
undefined
分析
猜测js在启动的时候会首先扫描所有var定义的变量,定义出来,所以console.log时候不会报错