猿问

以下代码为什么输出为“undefined”?

代码如下:

if(!("a" in window)){

    var a = 1;

}

alert(a);

我已经看过了相关解释,原因是变量声明会被提升,但是变量赋值并不会被提升,但还是不太明白。if语句块里面的代码到底有没有被执行?如果没有,变量的提升是哪条语句造成的?如果执行了,那么a的值应该就是1啊。
尝试了控制台输入以下代码

alert(b)//报错,b未被定义;


if (2>1){

    var b=1;

}

alert(b)//1


子衿沉夜
浏览 424回答 1
1回答

qq_笑_17

if("a" in window)var a = 1;alert(a);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答