У меня есть следующие функции, которые не могут быть запущены одновременно:Как удалить свойство функции из анонимной функции?
function foo()
{
if(this.running) return;
this.running = true;
setTimeout(function() {
// Do Something
delete this.running;
}, 5000);
}
выше, кажется, работает, но когда я проверяю значение this
в анонимной функции, это указывает на Window
. Я не уверен, что это правильный или правильный метод для удаления свойства. Может ли кто-нибудь сообщить, почему это работает?
'var that = this;' PS: почему бы не переключить его на 'false', а не на удаление? – zerkms
@zerkms, есть ли разница между удалением и установкой на false? –
последнее выглядит более последовательным. Отсутствие свойства означает какое-то неизвестное состояние, в то время как состояние довольно известно - оно не работает – zerkms