2013-12-19 100 views
1

我正在構建一個簡單的遊戲,試圖教我自己js/jQuery,並且無法讓我的代碼的這部分運行。 Firebug說在「endGame」函數後面有一個語法錯誤。如果我刪除分號,Firebug會將錯誤移至下一行。我不知道我做錯了什麼。我仔細研究過,看看其他格式的語句是如何格式化的,並且無法發現問題。提前致謝。Javascript語法錯誤

var cs = current_score, 
ts = total_score; 

function score(){ 
if($('.col_1 div .picked').hasClass('x'||'w')) { 
    if($('.col_2 div .picked').hasClass('x'||'w')) { 
     cs += 25; 
     if($('.col_3 div .picked').hasClass('x'||'w')) { 
      cs += 75; 
      if($('.col_4 div .picked').hasClass('x'||'w')) { 
       cs += 225; 
       if($('.col_5 div .picked').hasClass('x'||'w')) { 
        cs += 675; 
        if($('.col_6 div .picked').hasClass('bonus_2')) { 
         cs += 2000; 
        }else if($('.col_6 div .picked').hasClass('bonus_5')) { 
         cs += 5000; 
        }else{} 
       } 
      } 
     } 
    } 
}else if($('.col_1 div .picked').hasClass('y'||'w')) { 
    if($('.col_2 div .picked').hasClass('y'||'w')) { 
     cs += 25; 
     if($('.col_3 div .picked').hasClass('y'||'w')) { 
      cs += 75; 
      if($('.col_4 div .picked').hasClass('y'||'w')) { 
       cs += 225; 
       if($('.col_5 div .picked').hasClass('y'||'w')) { 
        cs += 675; 
        if($('.col_6 div .picked').hasClass('bonus_2')) { 
         cs += 2000; 
        }else if($('.col_6 div .picked').hasClass('bonus_5')) { 
         cs += 5000; 
        }else{} 
       } 
      } 
     } 
    } 
}else {} 
function endGame(); 
}; 
+0

這是什麼'function endGame(); };'??? –

+0

在函數分數裏面聲明函數endgame? –

+1

在發佈語法錯誤之前,請通過http://jshint.com/或http://jslint.com運行您的代碼。 – megawac

回答

0

在調用endGame()之前刪除函數,並在結尾處使用分號。 然後解決所有語法錯誤。

+0

謝謝,夥計。在聲明一個函數和調用它之間感到困惑。我同意所有意見,說明邏輯中還存在其他錯誤,但至少修復語法可讓我運行其餘代碼來處理邏輯。 – jsilver951

0

你缺少一個}後您}else {}

那是你的function score(){沒有被關閉

0
function endGame(); 
}; 

也許應該是如果你把更多的東西一樣

function endGame() { 

    } 
}; 

'功能'在某個單詞前面,你正在聲明一個函數。如果你不是試圖聲明一個函數,而是簡單地運行一個已經存在於其他地方的函數,只需通過endGame();來調用它。

除此之外,你還有其他許多錯誤..你真的需要簡化你如何開始。這不是我想要處理的:)