猿问

var声明提前的问题

alert(a);
var a=3;
按照变量提升我的理解是
var a;
alert(a);
a = 3;
这么理解就是undefined,但是结果是3,该怎么理解

备注补充:找到原因了,是因为执行了好几次,第一次执行确实是undefined,但是我执行了好几次,后面再执行的时候由于已经赋值了,所以导致都变成3,谢谢各位大侠


牛魔王的故事
浏览 472回答 1
1回答

ibeautiful

首先chrome浏览器端试验了一下是undefined,并不是3,其次换用console.log在浏览器中和node环境中尝试,结果也是打印undefined。补充一句如果是使用了let,那么就会形成死区,在node环境下会报错。console.log(a); let a = 3;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答