Autor Zpráva
tester
Profil *
Mám funkci která se volá na zavolání události click.
Zevnitř této funkce pak volám funkci printMe(null);
Uvnitř PrintMe přidělím proměnnou e jako událost dočasně uloženou v jiné proměnné. Pak si připravím objekt s argumentama:
  var arguments = {}
  arguments.wrapper = extractor.data.defaults.wrapper;
  arguments.stylesheet = extractor.data.defaults.stylesheet;
  arguments.styles = !arguments.stylesheet ? "<style id=styles>div#content { color: " + extractor.data.defaults.color + "; background-color: " + extractor.data.defaults.bgcolor + "; font-family:'" + font + "'; font-size:" + size + "; font-weight: " + weight + ";}\n\r" +
  "</style>\n\r" : "";

Pak zavolám funkci Start(e, arguments);

V debuggeru Firefoxu (Toolbox) zastavím uvnitř té funkce a dívám se co obsahuje aruments:



Nejde mi dohromady proč arguments obsahuje dvě vlastnosti které jsem v tom objektu neplánoval. Data která jsem do arguments uložil se nachází pod členem 1.


Najel jsem kurzorem myši na slovo arguments:
function (e, arguments)
tak nevím jestli ten Toolbox opravdu zobrazuje to co je v arguments nebo to omylem zobrazuje první a druhý argument funkce (bug Toolboxu)


Tak už to chápu. arguments je v javascriptu klíčové slovo vracející argumenty funkce.

Moderátor Petr ZZZ: Titulek „Proč se tohle děje?“ nevystihoval podstatu dotazu. Příště zkus prosím vymyslet lepší.
juriad
Profil
Arguments object
Objekt arguments obsahuje všechny argumenty funkce.

Firefox se nejspíš nějak zbláznil, mě se to ve Firebugu chová očekávaně (tedy že arguments je Object a obsahuje jen to, co jsi do něj vložil). V každém připadě silně doporučuji přejmenovat arguments třeba na args.

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: