我正在阅读一些javascript书籍并做一些练习,我在执行以下操作时有点卡住: 将影片类重构为模块,保留以前的代码以供参考。
我之前的代码是:
function Movie(){
this.attributes = {
title : '',
duration : '',
director : '',
actor : []
}
}
Movie.prototype.set= function(attr , value){
this.attributes[attr] = value;
}
Movie.prototype.get = function(){
console.log(this.attributes.title);
return this.attributes.title;
}
Movie.prototype.play = function (){
console.log ('Playing '+this.attributes['title']+'...');
}
Movie.prototype.stop= function(){
console.log ('Stopped '+this.attributes['title']+'...');
}
我不知道该怎么做才能重构它。我读了很多关于这个,但我不知道怎么用它作为一个类(或者如果那可能),例如现在我可以通过做var titanic = new Movie()创建更多的电影,如果我制作一个模块我不要怎么做。
答案 0 :(得分:0)
您可以使用这些guides
重构它var Movie = function () {
var model = {
attributes : {
title : '',
duration : '',
director : '',
actor : []
}
};
model.set = function (attr , value) {
model.attributes[attr] = value;
}
model.get = function () {
return model.attributes;
}
model.play = function (){
console.log ('Playing '+this.attributes['title']+'...');
}
model.stop= function(){
console.log ('Stopped '+this.attributes['title']+'...');
}
return model;
});
并像这样使用
var movie1 = new Movie();
var movie2 = new Movie();