Привет, ребята. Тут у меня на работе заметил, в разных местах код описан разными патернами, вот 1й:
'use strict';
var App = (function(){
return {
method1: function(){
return this;
},
method2: function(){
return this;
}
}
})();
$(function(){
App
.method1()
.method2();
});
Вот 2й:
'use strict';
var App = function(){
};
App.prototype = {
method1: function(){
return this;
},
method2: function(){
return this;
}
};
$(function(){
var App = new App();
App
.method1()
.method2();
});
В чём у них принципиально разница? Первый - это патерн модуль, 2й создание классов, через конструктор. Но структурно они одинаковы и с виду делают одно и тоже.
Могли бы вы объяснить мне, если не затруднит подробнее, в чём разница между ними? Буду очень признателен