2016-07-01 102 views
-2

我有問題,一個簡單的JavaScript比較不起作用。簡單的JavaScript比較不起作用

我不知道爲什麼它跳到12302行並設置showNoDataText = true。 條件應該是false,因爲285的數組長度小於1boolValue的值設置正確(=false)

但不知何故,它不工作。我已經嘗試=====進行比較,也已經嘗試'if (boolValue) {...}'。 請問有人有想法嗎?

我使用的是最新版本的Mozilla Firefox。它也不適用於Internet Explorer 11.

備註:請不要再回答,問題已解決。 Alexis提供了正確的答案。非常感謝!

問題是在這裏描述: Firefox debugger jumps from an if-block directly to an else-block

enter image description here

+1

在測試之前,ShowNodatatext可能設置爲true。而不會因爲這個測試而改變。只需添加'else {showNoDataText = false;}' – Alexis

+0

如果你有12302行代碼,爲什麼要在這裏定義showNoDataText = true?它可能是由其他代碼引起的。 –

+2

當你嘗試'if(points.length <1)'時會發生什麼? –

回答

0

我不知道你的問題到底是,而是 「Hitmands」 評論,你可以這樣做:

showNoDataText = points.length < 1; 
1

萬物爲我工作得很好。我已經在所有瀏覽器中測試過。

沒有針對此兩種可能性:

要麼你在控制檯改變boolValue的值之前執行代碼的瀏覽器或者您可能需要重新啓動瀏覽器。

這是我在所有瀏覽器中工作正常的比較。

> https://jsfiddle.net/rietykity/67pf63o1/ 
+1

我已經測試過,這不是一個代碼問題。這確實是一個Firefox bug,在這裏描述。這個bug讓我感到困惑,因爲我無法想象如何在同一個(!)時間內在if和else塊內調用代碼。 https://stackoverflow.com/questions/26419249/firefox-debugger-jumps-from-an-if-block-directly-to-an-else-block –