Могу ли я иметь что-то вроде этого, где функция возвращает var, которая сама по себе является функцией, выполняющей операцию над элементом DOM?Функция для возврата функции var
var foo = function() {
var blah = function() {
document.getElementById('box').style.color="red";
};
return blah;
};
setTimeout(function() {
foo();
}, 2000);
<div id="box">This is some div</div>
EDIT:
Спасибо за все советы, он работает, как вы указали. немного следить ... Могу ли я сделать аналогичный с возвращенным объектом?
var foo = function() {
var blah = function() {
document.getElementById('box').style.color="red";
};
var flop = function() {
document.getElementById('box').style.color="green";
};
return {
blah: blah,
flop: flop
};
};
var newInstance = foo();
setTimeout(function() {
newInstance.blah;
}, 2000);
setTimeout(function() {
newInstance.flop;
}, 4000);
<div id="box">This is some div</div>
Я не понимаю, где должно быть получено возвращаемое значение. Вы имеете в виду что-то вроде 'setTimeout (foo(), 2000)'? Немного больше контекста поможет. –
@cookiemonster Я почти уверен, что это то, что предназначено, но трудно сказать. – Pointy
@Pointy: Да, все зависит от того, когда все внутри 'foo' еще вне' blah' должно быть выполнено. Нет ничего похожего на неопределенные примеры использования бессмысленных имен функций, чтобы затушить актуальную проблему. –