我的Javascript函数问题

时间:2015-11-18 23:43:32

标签: 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");
}

1 个答案:

答案 0 :(得分: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()只是检查转换为number后从prompt()收到的值是否为number。 NaN代表Not a Number。无法通过普通方法检查NaN值。即使NaN === NaN也会返回false,只能检查一个值是否为NaN使用isNaN()函数
  • numberofOranges和costOrange变量已经可用于orangeCost()函数。如果你确实需要这些作为参数,那么好的做法就是将它们重命名为其他东西,即。 paramNumberofOranges,这样参数不会遮蔽外部变量。