如果你想在 javascript 中学习 oop(并且你可以使用框架),我的建议是学习一个类似http://knockoutjs.com/的框架。view/html 交互代码和 js 对象建模代码之间的分离将使您的生活更轻松。这是使用淘汰赛重新实现小提琴的示例:http: //jsfiddle.net/kaGzz/3/
我认为对象在做什么要清楚得多:
var Item = function(product, price, parentArray){
var self = this;
self.product = ko.observable(product);
self.price = ko.observable(price);
self.deleteItem = function(){
parentArray.remove(self);
}
}
var ShoppingList = function(){
var self = this;
self.currentProduct = ko.observable();
self.currentPrice = ko.observable();
self.items = ko.observableArray();
self.addItem = function(){
self.items.push(new Item(self.currentProduct(), self.currentPrice(), self.items));
}
}
var shoppingList = new ShoppingList();