2013-08-18 52 views
2

中,如果只執行一次的代碼,但不知何故,它的工作原理所有的時間非常基本的Jquery - 爲什麼不會這樣if/else與變量工作?

$(document).ready(function() { 
    var count = 0;      
    if(count = 0){ 
     $('#enter').click(function() { 
      count = 1; 
      $(this).fadeTo("fast","0.8"); 
     }); 
    } else {}; 
}); 
+1

的類型匹配只是這樣做:'如果(計數=== 0){'沒有任何類型轉換正在完成。 –

+0

你的意思是點擊應該只執行一次?如果你在錯誤的地方 - 你在設置點擊處理程序時觸發它,之後它會繼續工作,直到未註冊 - 你不這麼做。相反,您可以在處理程序內移動計數測試。 – Rup

+0

不知道如果您爲了這個問題而刪除了內容,但是如果您在else塊中沒有任何內容,則根本不需要使用其他內容。 – JJJ

回答

4

使用if(count == 0){if(count === 0){

你需要有==平等運營商)或===身份運營商)。 否則與count = 0你說/分配count應該0,而不是比較它們。

如果你想比較type也可以有count === 0,在某些情況下,它可以是好的。例如,false == 0返回true。但false === 0返回false

你可以在這裏閱讀更多關於運營商:MDN


關於count變量背後的想法,您應該查看它。因爲它是如果總是會通過(即使更正=)。因爲您分配zero並在下一行傳遞if爲true。也許你想在.click()內部有if條件,所以它會返回true/false,具體取決於你想要的方式。

3

if(count = 0)是賦值

試試這個: -

if(count == 0) 

注: -=是分配和==是邏輯比較。通過執行count = 0,Javascript認爲您試圖將名爲count的變量指定爲0.

+0

user2694339: - 這有效嗎? –

0

因爲您每次都在if語句中將值分配給count

它沒有比較。

嘗試: -

if(count == 0) 

,或者您也可以嘗試

if(count === 0) 

它還將尋找數

相關問題