2014-09-04 58 views
0

在JavaScript中,查詢布爾變量的值或測試兩個字符串的等同性在性能方面是否存在顯着差異。查詢布爾變量與比較JS中的兩個字符串

例如,其中的這些,如果有的話,是更有效的:

布爾例如:

var testBoolean = false; 

if (testBoolean) { 
    alert('false') 
} 

字符串例如:

var testString = 'false'; 

if (testString !== 'false') { 
    alert('false') 
} 

謝謝!

+0

布爾速度更快,因爲您有一個少做比較。您已將測試設置爲false,但在第二種情況下,您需要進行字符串比較並將結果推入IF條件(與此後的情況1相同) – 2014-09-04 16:46:15

+0

請注意,2個片段不等同。第一個將會失敗if條件。第二個會傳遞和alert()'。 – 2014-09-04 16:47:39

+0

感謝您指出喬納森,我現在編輯了這個問題。 – bravokiloecho 2014-09-04 16:51:14

回答

1
var testString = 'false'; 

if (testString === false) { 
    alert('I'm inside the if condition') 
} 

這不會進入if條件,因爲「===」和「!==」操作符檢查兩個值,不像「==」和式「!=」操作符。但我認爲這不是你的問題。

布爾運算速度更快,因爲您只需少量比較即可。您已將測試設置爲false,但在第二種情況下,您需要進行字符串比較並將結果推入IF條件(與此後的情況1相同)

+0

關於類型的第一點,這兩個值都是字符串。假設也使用「true」,則條件可以通過。 – 2014-09-04 16:54:00

+0

是的你是對的,這是一個錯字,現在編輯。 – 2014-09-04 17:02:20