簡體   English   中英

if false語句是否始終在javascript中返回未定義?

[英]Does the if false statement always return undefined in javascript?

我目前正在開發一個網站,並計划使用JavaScript。

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

上面的示例顯示了范圍,我想知道您如何防止未定義的結果以及為什么會這樣。

我已經研究了mdn,w3學校和Varus網站,但它們要么具體,要么太籠統。

這對於那些經常使用JavaScript但不是團隊領導者擁有此資源的人來說非常有用-我計划使用此知識來使用前端語言(JavaScript,html,CSS等)制作網頁

在線編輯

如果合適,請隨時添加更多標簽!

if的條件為false時看到undefined的原因是,將var 提升到函數的頂部,並且變量undefined為其默認值。

吊裝后,您的代碼如下:

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

由於條件是假的, a的默認值永遠不會改變。

更多關於var提升我的貧血小博客: 可憐的誤解var

您對if語句如何工作感到困惑,

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

否則它將不起作用,默認情況下,您將Condition輸入為false,因此不執行if塊。 而且,正如您在if塊中定義的“ a”一樣,變量“ a”也永遠不會因為if塊未執行而定義。 因此,當您記錄一個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM