Autor Zpráva
jan01
Profil *
Zdravím, jak lze zjistit kolikrát se provedla funkce? napadlo mě že se dá do té funkce count++ a to se pak předá do return, ale netuším jak to napsat..

Díky
Radek9
Profil
jan01:
Vytvoř si globální proměnnou, hodnotu nastav na nulu a ve funkci nastav, aby se přičetla jednička.
Witiko
Profil
var count = 0;
function funkce() {
  count++;
}

Pokud nechápeš, jak script funguje, doporučuji studovat na téma globální a privátní proměnné. :)

EDIT: Ha, o pět sekund pozdě.
_es
Profil
Radek9:
Vytvoř si globální proměnnou
Ak je takých funkcií viac, tak to je nepraktické, dá sa využiť, že funkcia je v JS zároveň aj objekt:
function funkcia() {
  arguments.callee.count++ || (arguments.callee.count = 1);
}
Počet zavolaní funkcie bude vo funkcia.count. Akurát bude rozdiel medzi globálnou premennou v tom, že pred prvým zavolaním funkcie bude funkcia.count rovné undefined.

jan01:
napadlo mě že se dá do té funkce count++ a to se pak předá do return
Ak chceš počet zavolaní funkcie v návratovej hodnote, dá sa použiť aj:
var funkcia = (function() { var n = 0;
  return function(){ return ++n;};
})();
ah01
Profil
jan01:
Potřebuješ to zjistit programově, tj. mít to číslo v nějaké proměnné, s kterou dál tvůj kód pracuje, nebo tě zajímá jen to číslo kvůli nějaké optimalizaci? Na to první potřebuješ to co uvádí Witiko nebo _es. Na to druhé ti stačí profiler.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0