2015-11-18 72 views
-2

我正在處理一個簡單的問題,即輸入橘子的價格和購買桔子的數量並計算總成本。 請檢查這段代碼,讓我知道我要去哪裏錯了。用我的Javascript功能發出問題

var numberofOranges; 
var costofOrange; 
var orangeCost = function (costofOrange, numberofOranges) { 
    var Cost = costofOrange * numberofOranges; 
    return Cost; 
}; 
confirm ("Confirm Number of Oranges you are buying", numberofOranges, costofOrange); 
if ((numberofOranges === > 0 && typeof(numberofOranges)!= "string") && (costofOranges === > 0 && typeof(costofOranges)!= "string")) { 
console.log("Cost of" + numberofOranges + "Oranges is" + (orangeCost(numberofOranges)); 

} 
else { 
console.log("Enter valid input"); 
} 
+0

用'console.log(變量)'註銷變量並找出你自己。 – ceejayoz

+0

對於初學者來說,這不是'confirm()'的工作方式。 https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm – ceejayoz

+1

orangeCost函數下面的所有內容都是錯誤的。確認不是像這樣工作和「===」這不​​是一件事情,orangeCost用於一個參數,但你需要其中的2個,你需要像這樣使用orangeCost(5,20); - 5美元和20個桔子。也有人停止投票,很明顯,他試過這不是從谷歌複製粘貼! –

回答

1

這應該工作

(function() { 
    var numberofOranges; 
    var costofOrange; 
    var orangeCost = function (costofOrange, numberofOranges) { 
     var Cost = costofOrange * numberofOranges; 
     return Cost; 
    }; 
    numberofOranges = Number(prompt("Confirm Number of Oranges you are buying")); 
    costofOrange = Number(prompt("Confirm Cost of Oranges")); 
    console.log(costofOrange + " : " + numberofOranges); 

    if ((!isNaN(numberofOranges) && numberofOranges >= 0) && (!isNaN(costofOrange) && costofOrange >= 0)) { 
     console.log("Cost of" + numberofOranges + " Oranges is " + orangeCost(costofOrange, numberofOranges)); 
    } 
    else { 
    console.log("Enter valid input"); 
    } 
})(); 

幾件事情要記住,

  • window.prompt()用於接受輸入,更好的辦法是使用一些標籤
  • prompt()返回一個值,它總是字符串,我們必須將此值轉換爲數字或所需的格式。
  • isNaN()只是檢查轉換爲數字後從提示符()中收到的值是否爲數字。 NaN代表不是數字。 NaN值不能用普通的方法檢查。甚至NaN === NaN將返回false,只有這樣才能檢查值是否爲NaN使用isNaN()函數
  • numberofOranges和costOrange變量已經可用於orangeCost()函數。如果你確實需要這些參數,那麼好的做法是將它們重命名爲別的東西,例如。 paramNumberofOranges,這樣參數不會影響外部變量。
+0

謝謝,我知道我出錯了。 – Srini