我正在尝试创建一个基于Web的音乐播放器(仅适用于JS),该播放器相当复杂,并且希望尽可能简洁地创建它,以便可以将代码重复用于类似的项目。
至此,我知道哪种方法更合适。我可以使用模块化模式(例如以下示例)来实现。或使用ES6并将代码分成几个类。我不知道哪种方法更专业,更商业。
(function() {
var myModule = {
init: function() { // Initialising the module
this.cacheDom();
this.bindEvents();
this.render();
},
catchDom: function() { // DEALS with HTML to not reapeat in the code
this.$el = $("#plugin");
this.$button = this.$el.find("button");
},
bindEvents: function() { // Translates the current state of the code into the HTML
this.$button.on('click', this.aFunction.bind(this));
},
render: function() {// UPDATING INTERFACE
this.$ul.html("ADD DATA TO HTML");
},
aFunction: function(){
console.log("something")
}
}
myModule.init();
});
class class1 {
constructor(name, location) {
this.name = name;
this.location = location;
}
start() {
alert(this.name + 'Meetup ' + 'is started at ' + this.location);
}
}
let obj1 = new class1('JS', 'Blr');
let obj2 = new class1('Angular', 'Noida');
obj1.start(); //JSMeetup is started at Blr
obj2.start(); //AngularMeetup is started at Noida
import class1 from './class1.js'
.
.
.
.
同样重要的是要保持插件的专业性,使其易于扩展并在以后的类似项目中可重复使用。
答案就是一个解释为什么一个比另一个更好的原因。