態JavaScript中有一個有趣的優化功能,不一定適用於其他語言。考慮以下代碼樣本:
var x = 10; var y = true; if (x*x > 1000 || y) alert("true!");正如您所期望的那樣,“ true”是輸出,因為y是正確的 - 即使第一個條件失敗了。 JavaScript口譯員按順序分析每個條件。如果我們將x更改為100,則x*x將大於1000,並評估為true。但是,由於我們使用的是邏輯或(||),因此解釋器不需要分析y-表達式必須為真,因此顯示警報。 因此,我們可以優化表達式,以確保首先分析需要最少處理的方法,即
if (y || x*x > 1000) alert("true!");如果Y是正確的,那麼口譯員將永遠不需要評估第二條件。這可以節省大量時間,尤其是如果我們調用功能,執行密集的計算或分析DOM。 相同的優化適用於邏輯和(&&)。在這種情況下,第一個評估為false的表達式使整個條件是錯誤的 - 不需要進一步處理。
if (summary = document.getElementById("post-summary")) { alert(summary.innerHTML); }摘要 變量設置為具有“後夏季” ID的HTML元素。如果元素存在,則條件將評估為true並出現警報。如果找不到元素,則條件將評估為false,並且沒有執行條件代碼。 這是一種有用的技術,儘管根據評論,很少有開發人員喜歡這種做法,因為它使JavaScript更難閱讀和調試。 但是,還有另一個問題 - 有2個或以上的條件,您的任務可能永遠不會執行。例如:
if (x || y = functionY()) { alert(y); }如果x評估為true,則解釋器永遠不會為y分配一個值,並且警報將始終丟棄錯誤。 我們可以通過反轉條件來解決它,以便始終評估y,例如
if (y = functionY() || x) …即使那樣,它仍然可能引起混亂,因為這些條件的順序並不明顯。閱讀本文上半部的開發人員甚至可能試圖通過首先評估X來優化代碼! 總而言之,如果您想在條件下使用作業,請繼續 - 但請確保這是您唯一需要的條件!
> JavaScript條件表達式(也稱為三元運算符)是一種採用三個操作數的操作員。這是撰寫If-Else語句的速記方式。結構如下:條件? value_if_true:value_if_false。首先評估病情。如果是真的,則表達式返回value_if_true。如果是錯誤的,它將返回value_if_false。
javaScript提供了幾個比較運算符提供了幾個比較操作符,例如==(如==(均值和均值),均值和均等),均值或均等),!比), =(大於或等於),>
我如何使用javascript中的if-else語句?語法如下:
if(條件){
//如果條件為true
},如果條件為true
} else {
//如果條件是false
}
>
>如何在JavaScript中使用Switch語句?如果條件下,這是一種更有效的撰寫多個多次多次的方法。 The syntax is as follows: // code block 您可以在JavaScript中使用條件表達式中使用條件表達式中的typeof操作員檢查是否定義了變量。如果未定義變量,則類型將返回“未定義”。以下是一個示例: //未定義myvar
break;
case y:
// code block
break;
default:
// code block
}
The switch expression is evaluated once, and its value is compared with the values of each case.如果有匹配項,則執行相應的代碼塊。
>// myvar被定義
} else {
}
}
以上是如何編寫更快的JavaScript條件表達式的詳細內容。更多資訊請關注PHP中文網其他相關文章!