2012-12-27 82 views
-4

問題:detectLocationtimersset()邏輯似乎不工作。我知道子例程被解僱,但我猜如果其他人錯了?HTML5 Javascript嵌套如果其他工作沒有按預期工作

detectLocationtimersset()的原因是有一些邏輯來確保沒有設置多個定時器。

我創建了第一個if/else來根據datatime設置定時器,然後我寫了第二個if/else來進行檢測。

detectLocation()已經過測試並在其自身的工作。

var detectLocationtimerset = 0; 
var datatime = 1; 

function detectLocationtimersset() {  
    // Setup timer to check for new data start 
    // check and see if set 
    if (detectLocationtimerset = 0) { 
     detectLocationtimerset = 1; 
     if (datatime == null) { 
      datatime = 9; 
      milliseconds = (datatime * 60000) 
      setInterval(function() { 
       detectLocation(); 
       console.log("detectLocation() timer set"); 
      }, milliseconds); 
     } else { 
        detectLocationtimerset = 1; 
      milliseconds = (datatime * 60000) 
      setInterval(function() { 
       detectLocation(); 
       console.log("detectLocation() timer set"); 
      }, milliseconds); 
     } 
    } 
}; 
+1

這是什麼,你不指望? –

回答

4

我不知道是什麼問題,但

if (detectLocationtimerset = 0) 

也許應該

if (detectLocationtimerset === 0) 

在其他注意事項,

  • 您縮進應該是一致的
  • 各地運營商的間距應該是一致的
  • 你應該更喜歡identity在平等儘可能
  • 你應該將共享代碼出的if/else塊 - 把milliseconds分配和setInterval通話if (datatime == null)
+0

好抓!我忽略了兩次:) –

+0

問:=&==&===做什麼不同?我認爲==是一個完全匹配,所以不是100%確定===。 T –

+0

@TerranBrown ===完全匹配。 –

2

if (detectLocationtimerset = 0) { 

應該

if (detectLocationtimerset === 0) {