JavaScript初学者 - 在if else中使用变量

时间:2016-03-18 08:45:23

标签: javascript variables object

我正在尝试学习JavaScript,并希望从底层学习。我正在尝试对收银机进行编码,这是我到目前为止所做的。

var egg = {
  pName : "Egg",
  price : 21.95,
  discount : 20
}

var milk = {
  pName : "Milk",
  price : 4.95,
  discount : 20
}

var juice = {
  pName : "Juice",
  price : 15.50,
  discount : 0
}

var totalCost = 0;


var add = function(){
  i = document.querySelector('.addIt').value;
  productCost = "";
  ProductName = "";
  if (i === "egg") {
    productCost = egg.price
    ProductName = egg.pName
    totalCost = totalCost + productCost;
    addElement();
  } else if (i === "milk") {
    productCost = milk.price
    ProductName = milk.pName
    totalCost = totalCost + productCost;
    addElement();
  } else if (i === "juice") {
    productCost = juice.price
    ProductName = juice.pName
    totalCost = totalCost + productCost;
    addElement();
  } else {
    alert("Det kan du ikke købe!")

  }
  function addElement(){
    var newDiv = document.createElement("div");
    var newContent = document.createTextNode(ProductName + " " + productCost);
    newDiv.appendChild(newContent);

    var currentDiv = document.querySelector('.items');
    currentDiv.appendChild(newDiv);
  }

  document.querySelector('.kvitt .totalPrice span').innerHTML = totalCost;
}

HTML

<body>
Velkommen til min butik.

Her er hvad du kan købe: egg, milk, juice
<br>
Tast det her ---> <input class="addIt" type="text" ></input>
<button onclick="add();"> Tilføj vare</button>
<br />

<div class="kvitt">Kvitering
<div class="items">her</div>
<div class="totalPrice">Total pris : <span></span></div>
</div>
<script src="script.js"></script>
</body>

我知道这不完美,所以不要判断,我正在努力学习:)

我想要的是减少代码,但我似乎无法让它工作。

我想直接在我的totalCost更新中调用我的对象。

示例:如果i = egg,那么我应该能够写i.pName,对吧?或者我错过了什么? :)

更新:我想知道如何从输入中得到答案,并做出类似这样的事情= answer.price:)

1 个答案:

答案 0 :(得分:-4)

为什么这样做:

productCost = juice.price
ProductName = juice.pName
totalCost = totalCost + productCost;

如果你想要的是减少一些代码我建议从这里开始:

 totalCost = juice.price + productCost;

要解决此问题,您可以从HTML获取名称并执行以下操作:totalCost = name.price