| Autor | Zpráva | ||
|---|---|---|---|
| weroro Profil |
#1 · Zasláno: 20. 7. 2015, 11:39:48
Ahoj,
V IE9 mi z nejakého dôvodu, nechce prijať tretí argument funkcie setInterval. var mojInterval = setInterval(function (fc) {
console.log(typeof fc);
}, 1000, fc);undefined. Viete prosím poradiť?
Ďakujem. |
||
| Radek9 Profil |
#2 · Zasláno: 20. 7. 2015, 12:02:17
weroro:
IE to umí až od verze 10. Pokud ti to stačí od verze 9, použij bind: var mojInterval = setInterval(function (fc) {
console.log(typeof fc);
}.bind(null, fc), 1000); |
||
| weroro Profil |
#3 · Zasláno: 20. 7. 2015, 12:43:19
Radek9:
Vynikajúce, ďakujem za tvoj čas a riešenie. |
||
| _es Profil |
weroro:
O čo sa tým kódom vlastne snažíš? Ak je v tom kóde dostupná premenná fc ako tretí argument setInterval, tak môže byť dostupná aj v tej vnorenej funkcii. Načo ju „prekrývaš“ lokálnou premennou funkcie s rovnakým názvom? Nestačí jednoduché?:
var mojInterval = setInterval(function(){console.log(typeof fc)}, 1000); |
||
| weroro Profil |
_es:
Ten interval mám ešte v jednej funckii, do ktorej argumentu predávam funkciu a túto funkciu potrebujem ešte predať do toho intervalu. function onEnterFrame (fc, intervalName) {
if (intervalName == undefined) {
intervalName = "EnterFrame";
}
if (typeof fc == "function" && !global[intervalName + "oef"]) {
fps = Math.floor(fps);
if (fps > 65) { fps = 65; }
else if (fps < 1) { fps = 1; }
if (fps > 0) {
var interval = Math.ceil(1000 / fps);
global[intervalName] = setInterval (function (fc) {
fc ();
update ();
}.bind(null, fc), interval);
global[intervalName + "oef"] = true;
}
} else if ((typeof fc == "string" && fc == "delete") || fc === null) {
clearInterval(global[intervalName]);
global[intervalName] = null;
delete global[intervalName];
global[intervalName + "oef"] = null;
delete global[intervalName + "oef"];
}
} |
||
| Chamurappi Profil |
#6 · Zasláno: 22. 7. 2015, 14:53:10
Reaguji na werora:
Nerozumím, k čemu to potřebuješ. Na co tam máš ten bind? Proč fc potřebuješ předávat dovnitř funkce, když ta vidí na to vnější fc?
|
||
| weroro Profil |
#7 · Zasláno: 22. 7. 2015, 15:05:35
Chamurappi:
Keď tak teraz na to pozerám, už ani ja neviem prečo to chcem ak sa dá k tej funkcii dostať takto jednoducho. |
||
| Radek9 Profil |
#8 · Zasláno: 22. 7. 2015, 21:22:25
weroro:
Původně jsem předpokládal, že tohle je vážně jen ukázka a že ta funkce je třeba definována jinde a k proměnné nemá přístup. Jestli je to ale takhle, tak to opravdu nepotřebuješ. Má to smysl, pokud mám někde definovanou univerzální funkci a tu pouštím v několika intervalech nebo timeoutech s různými parametry. |
||
|
Časová prodleva: 11 let
|
|||
0