【发布时间】:2019-03-01 07:00:23
【问题描述】:
我正在尝试使用 javascript 和原型创建一个简单的购物车。
只是一个简单的控制台应用程序。
我想调用myBasket.prototype.addItems 在inventory[] 中添加项目,同样我想调用myBasket.prototype.addQuantity 和myBasket.prototype.totalAmount 分别增加项目的数量和总金额。
我被困的地方是我如何打电话给myBasket.prototype.addItems 来做必要的事情?这就是我卡住的地方。
var inventory =
[
{ name: "apples", price: 19.95, quantity: 50 },
{ name: "oranges", price: 20.99, quantity: 40 },
{ name: "pineapples", price: 40.00, quantity: 60 },
{ name: "lemons", price: 10.12, quantity: 100 }
]
function myBasket(name, price, quantity){
this.name = name;
this.price = price,
this.quantity = quantity;
items.push(this);
}
myBasket.prototype.addItems = function(){
console.log('items added to cart')
}
myBasket.prototype.addQuantity = function(){
console.log('item quantity added to cart')
}
myBasket.prototype.totalAmount = function(){
console.log('Total amount is');
var total = this.price * this.quantity;
}
// newItem.prototype = Object.create(myBasket.prototype);
var newItem = [];
newItem = new myBasket({name:'milk', price:80,quantity: 2});
newItem.push(this.items);
console.log('new item(s) added', items);
var checkoutAmount = new myBasket();
console.log('checkout amount');
【问题讨论】:
-
您的问题到底是什么?因为“这是正确的”是相当模棱两可的。我当然不会采用这种方法,但主要是因为在现实世界的应用程序中事情要复杂得多。然而,就我们的目的而言——“一个简单的控制台应用程序”似乎很合适。但是你到底有什么问题呢?
-
我很抱歉。让我编辑我的查询。
-
@VLAZ 我已经更新了描述。
标签: javascript prototype