Я пытаюсь сделать мой яваскрипт код прилипает к шаблону модуля, который я следую здесь:Модуль javascript не является функцией?
http://addyosmani.com/resources/essentialjsdesignpatterns/book/#modulepatternjavascript
Это мой код в настоящее время нет никаких проблем синтаксиса, кроме вызова во время выполнения, который говорит
loosetime.init() не является функцией.
var loosetime = (function() {
var looseconfig = {
"format": "DD/MM/YY HH24:MM:SS.s",
"value": "DD/MM/YY 00:00.00",
"class": "input",
"delims": ['/', '-', '_', '.', '|', ',', ' ', ':']
};
function loosetime(a, b, c, d, e) {
var format = a;
var appendLoc = b;
var inputVal = c;
var inputName = d;
var inputClass = e;
var inputLength;
try {
if (typeof(format) == 'undefined') {
format = looseconfig.format;
} else {
format = parseDateTime(format);
}
try {
if (typeof(inputVal) == 'undefined') {
inputVal = looseconfig.value;
}
inputLength = inputVal.length - 2;
var input = document.createElement("input");
input.setAttribute("name", inputName);
input.setAttribute("maxlength", inputLength);
input.setAttribute("size", inputLength);
input.setAttribute("value", inputVal);
input.setAttribute("type", "input");
input.setAttribute("class", inputClass);
input.setAttribute("onkeypress", "dateTimeRules(event)");
input.setAttribute("onclick", "resetCursorPos(event)");
input.setAttribute("loosetime", format);
try {
var element = document.getElementById(appendLoc);
element.appendChild(input);
} catch (e) {
window.alert("Error, no Element given to append loosetime to.")
}
} catch (e) {
window.alert("Error, Value is invalid." + e.toString());
}
} catch (e) {
window.alert("Error, Date format missing or invalid.");
}
}
// other code here ...
return {
init: loosetime()
}
// end private closure then run the closure
});
В идеале я просто хочу loosetime работать, я не хочу, чтобы явно вызвать конструктор.
например. loosetime («foo», «bar», «etc», «yolo», «123321»);
Я не уверен, что я делаю неправильно, мне нужно вернуть функцию, а не псевдоним?
Не уверен, почему я получаю downvoted. – kaleeway