Autor Zpráva
Z3NTIVA
Profil
Ahoj,
učím se javascript a mám problémy s pochopením nejakých věcí.Jedná se o :
RETURN...kdy a proč se používá/mělo by se používat...
TYPEOF...kdy a proč se používa/mělo by se používat...

a pak ještě.vysvětlil by mi někdo prosím následující kod? (ma sloužit ke kontrole tříd jednotlivých prvků,mam to v knize,ale jejich vysvětlení nechápu...)

var pattern=new RegExp("(^| )" + TheClass + "( |$)");
for (var i = 0 ; i < elementArray .lenght ; i++)
{
if (pattern.test(elementArray[i] .className) )
{...
}
}

díky moc :)

Moderátor Davex: Titulek „javascript..prosím pomoc...:)“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
Moderátor Davex: Přesunuto z Problémů v začátcích do kategorie JavaScript.
Ernie
Profil
RETURN způsobí to, že funkce vrátí nějakou hodnotu.
Například funkce na násobení by mohla vypadat takto:
function nasobeni(a, b)
 {
 return a*b;
 }
alert(nasobeni(2,3)); //vypsalo by 6

TYPEOF je funkce, která vrací typ proměnné (řetězec, číslo, objekt, ...).
Někdy se to hodí.

A ten kód:
var pattern=new RegExp("(^| )" + TheClass + "( |$)"); //regulární výraz, slouží k hledání ve strukturovaných textech (v tomto případě může být vedle názvu buď začátek řetězce (^), jeho konec ($) nebo mezera)
for (var i = 0 ; i < elementArray .lenght ; i++) //projde všechny prvky z pole elementArray
 {
 if (pattern.test(elementArray[ i] .className) ) // vlastnost className obsahuje názvy všech tříd, které má prvek nastaveny, např. "prvni druha treti" - a tady se hledá, jestli obsahuje i hledanou "TheClass"
  {...
  }
 }

Tady najdete něco o třídách, regulárních výrazech, o ostatním si můžete najít více na googlu.
peta
Profil
Z3NTIVA: Na vse odpovi google.
return je funkce pro vystup z function

<script>
function funkce(a)
{
if (a) return 5;
else return 10;
}
a = funkce(true);
b = funkce(false);
alert([a,b]);
</script>


typeof je funkce, ktera zjistuje typ objektu
<script>
x = [5,'ahoj',true,function(){},{},new RegExp('',''),new Object(), new Image(),document.getElementById(aaa)];
y = [];
for (i in x) y[i] = typeof(x[i]);
alert(y);
</script>


var pattern=new RegExp("(^| )" + TheClass + "( |$)");
for (var i = 0 ; i < elementArray .lenght ; i++)
{
if (pattern.test(elementArray[i] .className) )
{...
}
} 


pattern=new RegExp("(^| )" + TheClass + "( |$)");
Regularni vyraz, pouziva se pro nalezeni textu a pripadne jeho nahrazeni v promenne typu string. Pro jednoduchy text lze pouzit indexOf a subString.
function nahrad(kde,co,zaco) //hledej()
{
reg = new RegExp(co,'');
return kde.replace(reg,zaco);
}
alert(nahrad('Sla Nanynka do zeli','Nanynka','Tomas'));

http://peter-mlich.wz.cz/web/links.htm#regularni_vyrazy
Dalsi metodou je test, match a jine, ktere hledaji shodu nebo vypisi vsechny vyskyty.
Slozitejsi reg vyraz dokaze v textu najit obsah uvnitr tagu a nahradit za neco jine. Pak se to pouziva na filtrovani nezadoucich znaku treba z mailove adresy nebo jeji kontrola. Google.

Ten cyklus.
Konkretne ten reg cyklus hleda text rekneme "aaa" v retezci typu "aaa neco", "neco aaa", "aaa", "neco aaa neco" (proste class)
<div class="aaa cerveny podtrzeny"></div>
if (ma element[i] mezi className hodnotu v pattern?) {ano} else {ne}

FF ignoruje funkce zapsane jinak nez je v dokumentaci, vcetne malych a velkych pismen. Nastesti :) Uz jsem byl parkrat usetren vykradani udaju z nasich webovych programu.
_es
Profil
peta:
return je funkce...
Nie je.

typeof je funkce...
Nie je.

FF ignoruje funkce zapsane jinak nez je v dokumentaci, vcetne malych a velkych pismen.
Čo je FF a v akej dokumentácii čo ignoruje?
Witiko
Profil
peta:
vcetne malych a velkych pismen
Toto je rys jazyka jako takového, ne výmysl ostrých hochů z letky Firefox.
Z3NTIVA
Profil
aha,všem díky :) ,jenom pro upřesnění,kdy se tedy vyplatí použít typeof a kdy return ? (kdy se používají).Díky moc :)
_es
Profil
Z3NTIVA:
jenom pro upřesnění,kdy se tedy vyplatí použít typeof a kdy return ?

To asi ako by si sa pýtal, kedy sa na aute vyplatí používať dvere a kedy tachometer.
Základy JS sa nauč sám, zdrojov je na to dosť, vyhľadávače tiež fungujú. Napríklad si môžeš aj kliknúť na slová v ofarbených kódoch v tomto vlákne - sú to všetko odkazy na dokumentáciu Mozilly.

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