2015-09-20 65 views
1

我正在嘗試在岩石/紙/剪刀式遊戲上工作,並且有一段代碼似乎無法工作。似乎沒有任何語法錯誤,至少在我眼中或知識上,但控制檯一直空白。這就是我想出的 - 讓我更容易通過比較數字而不是「搖滾」,「紙」或「剪刀」來開始。Javascript if/else語句,定義和返回變量?

function getWinner(a, b) { 
    var winner; 
    if (a === b) { 
     winner = 'tie'; 
    } else if (a > b) { 
     winner = 'adam'; 
    } else if (b > a) { 
     winner = 'bob'; 
    } 
    return winner; 
} 

請告訴我,如果你看到任何錯誤或可以寫得更好的東西!我試圖讓return語句與if語句分開。

+1

'a =;'是語法錯誤。 –

+0

爲什麼你要聲明'a'和'b'的參數,然後給它們賦值?這否定了傳遞參數的任何用法。 – jfriend00

+1

你是如何使用這段代碼的?你說「控制檯一直空白」,但我沒有看到任何將任何內容記錄到控制檯的調用。 –

回答

0

你有a = ;b = ;無效的語法。只要刪除那些無效的行,你應該沒問題:

function getWinner(a, b) { 
    var winner; 
    if (a === b) { 
     winner = 'tie'; 
    } else if (a > b) { 
     winner = 'adam'; 
    } else if (b > a) { 
     winner = 'bob'; 
    } 
    return winner; 
} 
0

你可以做下面的事情。

function getWinner(a, b) { 
    var winner; 
    if (a === b) { 
     winner = 'tie'; 
    } else if (a > b) { 
     winner = 'adam'; 
    } else { 
     winner = 'bob'; 
    } 
    return winner; 
} 

因爲如果你用b一個比較,然後檢查是否有更大然後是b的最後一個選項是永遠的贏家。