То, что вы используете: IIFE (немедленное выражение вызываемой функции). В следующем коде вы вставляете возвращаемое значение nothing в переменнуюtesting
.
Выполнить следующее:
var testing = (function() {
function clearText() {
console.log('clearText execution');
}
})();
console.log(testing);
А что если мы что-нибудь вернем:
var testing = (function() {
function clearText() {
console.log('clearText execution');
}
return 'try';
})();
console.log(testing);
Если вы хотите выполнить функцию clearText
вне IIFE, вы должны вернуть указатель на нее, например:
var testing = (function() {
function clearText() {
console.log('clearText execution');
return 'done';
}
return clearText;
})();
console.log(testing);
console.log(testing());
Теперь IIFE не требуется, вы можете просто сохранить функцию внутри объекта и использовать ссылку:
var testing = {
clearText: () => {
console.log('clearText execution');
return 'done';
}
};
function resetInput() {
testing.clearText()
}
resetInput();