Podczas korzystania setTimeout
, trzeba umieścić kod, który chcesz wykonać na ciąg znaków:setTimeout - jak uniknąć używania ciągu znaków do wywołania zwrotnego?
setTimeout('alert("foobar!");', 1000);
Jednakże chcę wykonać funkcję, do której mam odniesienie w zmiennej. Chcę być w stanie to zrobić:
var myGreatFunction = function() { alert("foobar!"); };
// ...
setTimeout('myGreatFunction();', 1000);
(. Chociaż w prawdziwym życiu, alarm jest dłuższe nieco kodu i myGreatFunction
zostanie przeniesiony wokół jako parametr do innych funkcji, w ramach którego setTimeout
nazywa)
Oczywiście, gdy upływa limit czasu, myGreatFunction
nie jest rozpoznawaną funkcją, więc nie wykonuje.
życzę javascript pozwól mi to zrobić, ale to nie robi:
setTimeout(function() { myGreatFunction(); }, 1000);
Czy istnieje dobry sposób okrągłe to?
„Podczas używania setTimeout, musisz umieścić kod, który chcesz wykonać w ciągu” Z całą pewnością nie ... w rzeczywistości, _should not_. –
@ Tomalak - tak, masz rację. Zobacz komentarz na odpowiedź Kirtana ...:/ – teedyay
Właściwie to widziałem; chciałem być tu wyraźnie dla kogokolwiek, kto może zobaczyć to pytanie :) –