if false 语句是否总是在 javascript 中返回未定义



我目前正在开发一个网站,并计划使用JavaScript。

function func() {
    if (false) {
        var a = 'goodbye';
    }
    console.log(a);
}

上面的例子显示了范围,我想知道您将如何防止这种情况未定义以及为什么会这样。

我研究过mdn,w3学校和varius网站,但它们要么是特定的,要么太笼统了。

对于那些经常使用JavaScript但不是团队领导的人来说,拥有这个资源会很棒 - 我计划利用这些知识使用前端语言(JavaScript,html,CSS等(制作网页。

在线编辑

如果合适,请随时添加更多标签!

当该if中的条件为 false 时,您看到undefined的原因是var提升到函数的顶部,变量被undefined为默认值。

吊装后,你的代码是这样的:

function func() {
    var a; // Defaults to `undefined`
    if (false) {
        a = 'goodbye';
    }
    console.log(a);
}

由于条件为 false,因此 a 的默认值永远不会更改。

更多关于var吊起在我贫血的小博客上:可怜的被误解var

你对if语句如何工作感到困惑,

if(Condition comes out to true)
{
 This will work
}

其他明智的做法是,它不起作用,您已将条件默认为 false,因此不会执行 if 块。正如您在 if 块中定义"a"一样,变量"a"永远不会被定义为 if 块未执行。因此,当您记录

最新更新