Я сталкиваюсь со следующим шаблоном модуля javascript, и он мне очень нравится, но зачем использовать undefined
в аргументе?
(function(window, document, undefined){
'use strict';
var MyWidget = function(){
if (!(this instanceof MyWidget)) {
var test = new MyWidget();
return test.init.call(test, Array.prototype.slice.call(arguments));
}
var firstPrivateVar = 'aa',
secondPrivateVar = 'bb';
this.init = function(options){
console.log('MyWidget.init', options);
return true;
};
this.setStuff = function(){
};
};
window.MyWidget = MyWidget;
})(window, document);