Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Zmienna ilośc argumentów nie dziala
Forum PHP.pl > Forum > Przedszkole
23kulpamens
W dość obszernym kodzie JS wielokrotnie używam własnej funkcji loadContent. Zawsze jest ona używana z jednym dwoma lub czterema argumentami. Przy deklaracji funkcji są cztery argumenty. W czasie modernizacji kodu, okazało się że przydałby się piąty argument. Więc dodałem o do deklaracji funkcji, dodałem jego funkcjonalność i nie mogę go użyć. Korzystając z funkcji w jednym miejscu, ile bym argumentów nie dał zawsze mi pokazuje że podane są 4. Do sprawdzania ilości argumentów używam wewnątrz funkcji argumants.length. Przed modernizacją w tym miejscu kodu do funkcji podawane były 4 argumenty. Jak dam pięć, to piąty jest undefinied, jak dam trzy to kod się wywala, bo funkcjonalność nie działa. Poza tym zawsze jest pokazane, że do funkcji przekazano 4 argumenty. Ktoś wie o co chodzi?? Mi już brakuje pomysłów.
nospor
rozpisales sie.... to fajnie.... szkoda tylko ze zapomniales zapodac kodu.... winksmiley.jpg
23kulpamens
Przed modernizacją kod funkcji, a właściwie to metody był taki:
  1. loadContent: function (contentName, ignoreHistory, onCompl, contArgs){
  2. (...)
  3. },


a teraz jest taki:
  1. loadContent: function (contentName, ignoreHistory, onCompl, contArgs, forceReload){
  2. console.log("Num:", arguments.length);
  3. (...)
  4. },


natomiast miejsce użycia, wyglądąlo tak:
  1. loadContent("commSet", false, null, $H({commId: id}));


a wygląda tak:
  1. loadContent("commSet", false, null, $H({commId: id}), true);


do sprawdzania ilości argumentów używam:
  1. console.log("Num:", arguments.length);


a w konsoli zawsze mam taki komunikat:
Kod
Num: 4


nie ważne czy przekażę 3 czy 5 czy 10 argumentów. forceReload nie działa sad.gif


Temat do usunięcia. Argumenty były przekazywane przez jeszcze jedną metodę zanim trafiały do właściwej. Stąd stała maksymalna liczba 4.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.