0

我无法完成这个 javascript 来转换咖啡价格..我下载了一个调试器,它一直告诉我价格未定义,我不明白..这是脚本..

<html>
  <head>
    <title>Coffee House</title>
  </head>
  <body>
    <script type="text/javascript">
      var drink, ounces, price;

      prompt ( "Enter the drink type: espresso, latte, cappuccino, americano" );
      prompt ( "Enter the oz: 8, 12, 16" )

      var shots = prompt ( "Enter the number of shots" )

      if ( drink == "espresso")
        price = 1.40;

      if (( drink == "latte") || (drink == "cappuccino" )) {
        if ( ounce == 8 )
          price = 1.95;
        else if ( ounce == 12 )
          price = 2.35;
        else if ( ounce == 16 )
          price = 2.75;
      }

      if ( drink == "americano" )
        price = 1.20 + ( ( (ounce -8)/8 ) * .30 );

      price = price + ( (shots) * .50 );
      price = "price" * 1.055;
      price = Math.round( price * 100 )/100;
      alert( "Your " + ounce + "oz. " + drink + "with " + shots + "shots of espresso costs: $ " +price );
    </script>
  </body>
</html> 
4

2 回答 2

2

你的 JavaScript 有几个问题。

  1. 首先,更新 JavaScript 以声明“价格”变量。var 饮料、盎司、价格;
  2. 接下来,您需要根据“提示”语句的响应设置变量。

    var ounces = prompt ("输入盎司:8、12、16")

    var shot = prompt ( "输入拍摄数量" )

  3. 您正在对变量“ounce”而不是“ounces”进行字符串比较。这是修复上面的 1 和 2 后的未定义变量。

  4. 尽管您在某个地方将其用作字符串而不是变量值,但您正在对变量价格进行数学运算。在进行算术运算时从“价格”中删除引号。

应用这些更改后,您会看到一些效果:您的 8 盎司。lattewith 1shots of espresso 成本:2.58 美元

于 2012-05-03T04:25:24.967 回答
0

在尝试为其分配值之前,您需要将“价格”定义为 var。

于 2012-05-03T04:29:02.473 回答