javascript转换器

时间:2012-05-03 04:21:50

标签: javascript

我无法完成这个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> 

2 个答案:

答案 0 :(得分:2)

您的JavaScript存在一些问题。

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

    var ounces = prompt(“输入oz:8,12,16”)

    var shots = prompt(“输入拍摄数量”)

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

  4. 您正在以可变价格进行数学计算,尽管您在一个位置使用它作为字符串而不是变量值。在进行算术运算时,请从“价格”中删除引号。

  5. 应用这些更改后,您会看到一些效果: 你的8盎司。 lattewith 1次浓缩咖啡费用:2.58美元

答案 1 :(得分:0)

您需要定义&#34;价格&#34;在尝试为其赋值之前作为var。