Jak mogę przekazywać argumenty w funkcji setInterval npJavaScript setInterval funkcji z argumentami
intId = setInterval(waiting(argument), 10000);
widnieje błąd : useless setInterval call (missing quotes around argument?)
Jak mogę przekazywać argumenty w funkcji setInterval npJavaScript setInterval funkcji z argumentami
intId = setInterval(waiting(argument), 10000);
widnieje błąd : useless setInterval call (missing quotes around argument?)
Użyj funkcji anonimowej
intId = setInterval(function(){waiting(argument)}, 10000);
Stwarza to bez parametrów anonimowa funkcja, która wywołuje waiting()
z argumentami
lub użyj opcjonalne parametry funkcji setInterval()
:
intId = setInterval(waiting, 10000, argument [,...more arguments]);
Twój kod (intId = setInterval(waiting(argument), 10000);
) wzywa waiting()
z argument
, przybiera wartości zwracanej, stara się traktować ją jako funkcję i ustawia interwał dla tej wartości zwracanej . Chyba że waiting()
jest funkcją, która zwraca inną funkcję, to się nie powiedzie, ponieważ możesz traktować funkcje tylko jako funkcje. Liczby/napisy/obiekty nie mogą być typowane do funkcji.
Zastosowanie tej metody:
var interval = setInterval(callback , 500 , arg1 , arg2[, argn ]);
[...]
function callback(arg1, arg2[, etc]){
}
Więcej informacji tutaj: window.setInterval
Można użyć Function#bind
:
intId = setInterval(waiting.bind(window, argument), 10000);
Zwraca funkcję, która będzie wywołać funkcję docelowego z danym kontekście (window
) i opcjonalne argumenty.
setInterval (function() {funca (10,3);}, 500);
[This] (https://stackoverflow.com/q/457826/4642212) to pytanie, na które próbujesz odpowiedzieć. – Xufox
Możesz użyć funkcji bind i apply, aby zapisać argument w stanie.
przykład za pomocą wiązania w węźle powłoki:
> var f = function(arg) { console.log (arg);}
> f()
undefined
> f("yo")
yo
> var newarg = "stuff";
> f(newarg)
stuff
> var fn = f.bind(this, newarg);
> fn()
stuff
> var temp = setTimeout(fn,1000)
> stuff
setInterval (funkcja() {oczekiwania (argumentu)}, 10000) – rab
możliwe duplikat [parametrów przejścia w funkcji setInterval] (http://stackoverflow.com/questions/457826/pass-parameters-in-setinterval-function) – 416E64726577