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

查看:99
本文介绍了javascript - 以下代码为什么输出为“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

解决方案

if("a" in window)
var a = 1;
alert(a);

这篇关于javascript - 以下代码为什么输出为“undefined”?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆