JavaSkript - gdzie???
Moderator: Pomocy?!
JavaSkript - gdzie???
Przeglądarka: Mozilla/5.0 (Windows; U; Win 9x 4.90; PL; rv:1.5) Gecko/20031007
Szukam od jakiegoś czasu kursu JavaSkript ale kursu, nie gotowych skryptów. Wogóle nie znam tego języka, a wypadałoby nie?
Skąd się nauczyć? Jakiś portal? Jakaś książka? Jak się uczyć?
Z góry dziękuję.
Pozdrawiam
- Gość
Przeglądarka: Opera/7.50 (Windows NT 5.2; U) [en]
- quiris
- Posty: 659
- Z nami od: 31 lipca 2002, 06:53
Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.0; pl-PL; rv:1.6) Gecko/20040113
WinXP SP2
- Olhado/256
- Moderator
- Posty: 3878
- Z nami od: 26 września 2002, 09:47
- Lokalizacja: Wrocław
Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040108 Firebird/0.8.0+ (marcoos)
David Flanagan - "JavaScript. Przewodnik programisty" ("JavaScript. The Definitive Guide")
i druga książka z tej samej serii:
Danny Goodman - "JavaScript i DHTML. Receptury" ("JavaScript & DHTML Cookbook")
Do innych dostępnych w Polsce książek na temat JS należy podchodzić z wysoką nieufnością.
- marcoos
- Moderator
- Posty: 2227
- Z nami od: 12 października 2002, 10:25
- Lokalizacja: Wrocław
Przeglądarka: Opera/7.50 (Windows NT 5.2; U) [en]
Jerry Bradenbaugh - JavaScript. Receptury
Oczywiście również z wydawnictwa O'Reilly, które jest dla mnie synonimem znakomitej jakości. Szkoda tylko, że z jakością tłumaczeń bywa różnie
- quiris
- Posty: 659
- Z nami od: 31 lipca 2002, 06:53
Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040108 Firebird/0.8.0+ (marcoos)
Tak, ale ta jest już "nieco" leciwa.
Aha, jeszcze jest miniksiążeczka:
David Flanagan - "JavaScript. Leksykon kieszonkowy" ("JavaScript. Pocket Reference")
...która przydaje się _po_ przeczytaniu "JS. Przewodnik programisty", kiedy szybko chce się odnaleźć jakąś informację (choć także, podobnie jak książka Bradenbaugha, opisuje JS z NN4/IE4).
- marcoos
- Moderator
- Posty: 2227
- Z nami od: 12 października 2002, 10:25
- Lokalizacja: Wrocław
Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040114 Firebird/0.7+
NIestety wszystkie podane przez was mialem w reku i wlasciwie wszystkie ucza zlych nawykow
- Gandalf
- Posty: 1802
- Z nami od: 29 czerwca 2002, 04:37
- Lokalizacja: Warszawa
Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040108 Firebird/0.8.0+ (marcoos)
Gandalf pisze:brrr. nie polecam zadnej z tych ksiazek.
NIestety wszystkie podane przez was mialem w reku i wlasciwie wszystkie ucza zlych nawykow
"JavaScript. Definitive Guide" rzekomo uczy złych nawyków? Np. jakich? Proszę o przykład. Bo IMVHO złych nawyków uczą różne książeczki w stylu "Poznaj JS w 10 minut" itp.
- marcoos
- Moderator
- Posty: 2227
- Z nami od: 12 października 2002, 10:25
- Lokalizacja: Wrocław
Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040114 Firebird/0.7+
Ale to tylko moja opinia
- Gandalf
- Posty: 1802
- Z nami od: 29 czerwca 2002, 04:37
- Lokalizacja: Warszawa
Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040108 Firebird/0.8.0+ (marcoos)
http://www.oreillynet.com/pub/a/javascr ... index.html (ze starego wydania)
http://www.oreilly.com/catalog/jscript4 ... /ch17.html (z nowego wydania, na którym bazuje polska edycja)
- marcoos
- Moderator
- Posty: 2227
- Z nami od: 12 października 2002, 10:25
- Lokalizacja: Wrocław
Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040121 Firebird/0.8.0+
NIe doczytalem do konca, a do drugiego nawet nie zajzalem - sorry, teraz mam malo czasu
Marcoos. Nie chce sie klucic, kazdy z nas ma wlasny sposob programowania. Ja nie znalazlem ksiazki ktora moglbym polecic. Kazda ma pewne maniery i w kazdej natrafiam na blad, ktory uwazam za szkodliwy dla uczacego sie JS. Wiem, ze teraz koloryzuje, ale z powyzszego przykladu wychodza "programisci" piszacy:
var a=0;
[..]
document.style.zIndex=a;
Jak bedziesz nalegal, to przejze na drugi i podesle CI moje uwagi na priv
- Gandalf
- Posty: 1802
- Z nami od: 29 czerwca 2002, 04:37
- Lokalizacja: Warszawa
Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6) Gecko/20040113
Gandalf pisze:Kazda ma pewne maniery i w kazdej natrafiam na blad, ktory uwazam za szkodliwy dla uczacego sie JS.
Czyli w takim razie z czego mają korzystać osoby zaczynające swoją przygodę z JS? Skoro nie ma dobrych pozycji książkowych, a w sieci głównie można naciąć się na jeszcze gorsze gnioty? Mnie osobiście cegła Flanagana pozwoliła wiele zrozumieć, wiele wątpliwości rozwiała i uważam, że dla osoby mało obytej z JS jest to naprawdę świetna książka. A odnośnie błędów, mogę powiedzieć tyle, że tak już ten świat jest skonstruowany, że nie ma w nim rzeczy idealnych.
- quiris
- Posty: 659
- Z nami od: 31 lipca 2002, 06:53
Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040108 Firebird/0.8.0+ (marcoos)
Gandalf pisze:Zamiast 3/4 z nich mozna uzyc with() i nie dosc, ze struktura bedzie ladniej wygladac, to jeszcze mnie pamieci pozre.
AFAIK with() {} jest niezalecaną konstrukcją, ponadto może spowalniać działanie skryptu. Do tego OIDP obsługi with() nie wymaga specyfikacja ECMA (jest wg ECMA nadobowiązkowy).
Zbyt wielu (30?! 40?!) zmiennych to ja tam nie widzę.
Co do estetyki with()... de gustibus.
Marcoos. Nie chce sie klucic,
Ktoś tu na Domela najeżdżał za ortografię.
natrafiam na blad, ktory uwazam za szkodliwy dla uczacego sie JS.
Ale nikt nie mówi, że ta książka jest idealna. Ewentualne błędy (których ja jednak tam zbyt wielu nie widzę) są znacznie mniejszego kalibru niż w knigach zdjełanych w Polsze.
Wiem, ze teraz koloryzuje, ale z powyzszego przykladu wychodza "programisci" piszacy:
var a=0;
[..]
document.style.zIndex=a;
Jeśli to a jest stale zerem, to to nie ma sensu. Ale jeśli a jest od czegośtam uzależnione, dalej modyfikowane w skrypcie, do czegoś jeszcze wykorzystywane, to (pomijając fakt, że pewnie chciałeś napisać document.getElementById(costam).style.zIndex) nie widzę tu nic złego.
Jak bedziesz nalegal, to przejze na drugi i podesle CI moje uwagi na priv
Ech, nie będę nalegał, bo i tak nie zmienię zdania, że książka Flanagana jest jedyną dobrą (choć być może nie idealną) na polskim rynku.
- marcoos
- Moderator
- Posty: 2227
- Z nami od: 12 października 2002, 10:25
- Lokalizacja: Wrocław
Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040121 Firebird/0.8.0+
marcoos pisze:AFAIK with() {} jest niezalecaną konstrukcją, ponadto może spowalniać działanie skryptu. Do tego OIDP obsługi with() nie wymaga specyfikacja ECMA (jest wg ECMA nadobowiązkowy).
Hmm, nie wiem czy jest niezalecana, bo nie wiem kto mialby mi ja zalecac albo nie. Nie wiem tez co oznacza zdanie "moze spowalniac" - kiedy? nie spotkalem sie... no chyba, ze chodzi Ci o to, ze jak kazda intrukcja iterujaca zwieksza rzad zlozenia.
Co do specyfikacji ecma - mozliwe. W kazdym razie specyfikacja JS od wersji 1.0 na pewno takowa posiada i nie widze nic zlego w jej korzystaniu zwlaszcza jesli zaoszczedzi sie na zmiennych.
marcoos pisze:Zbyt wielu (30?! 40?!) zmiennych to ja tam nie widzę.
Co do estetyki with()... de gustibus.
To przyjzyj sie. Kazdy element ma wlasna statyczna referencje w postaci zmiennej lokalnej. Po co? Nie wiadomo, ale ma. Nie jest ona zazwyczaj uzywana wiecej niz raz - wiec wogule nie jest nic potrzebne, czasem dwa, trzy - wtedy mozna uzywac with.
marcoos pisze:Ktoś tu na Domela najeżdżał za ortografię.
;p
marcoos pisze:Ale nikt nie mówi, że ta książka jest idealna. Ewentualne błędy (których ja jednak tam zbyt wielu nie widzę) są znacznie mniejszego kalibru niż w
Posrod slepcow, jednooki krolem?
marcoos pisze:Jeśli to a jest stale zerem, to to nie ma sensu. Ale jeśli a jest od czegośtam uzależnione, dalej modyfikowane w skrypcie, do czegoś jeszcze wykorzystywane, to (pomijając fakt, że pewnie chciałeś napisać document.getElementById(costam).style.zIndex) nie widzę tu nic złego.
To tylko przyklad. A cecha przykladow obrazujacych uzycie zmiennej jest wskazanie wszystkich miejsc wystepowania.
marcoos pisze:Ech, nie będę nalegał, bo i tak nie zmienię zdania, że książka Flanagana jest jedyną dobrą (choć być może nie idealną) na polskim rynku.
quiris pisze:Czyli w takim razie z czego mają korzystać osoby zaczynające swoją przygodę z JS?
Osobiscie polecam wylacznie praktyke. JavaScript jest jezykiem bardzo ciekawym w swej budowie. Przydaje sie doswiadczenie z Javy i z C i z tasma... Jednoczesnie nie znajac powyzszych z JS sie ich nie nauczysz. A znajac powyzsze i tak masz mnostwo nauki przy JS.
Jedyne co udalo mi sie na razie ustalic, to ze w JS najwazniejsze jest kombinowanie i badanie pracy silnika - czyli empiria.
Czekam az pojawi sie ksiazka, ktora nie tylko wprowadzi w swiat JS i jego zasady, ale tez zwroci uwage czytelnika na jego smaczki i "dirty hacki" - od ktorych sie roi, oraz ksiazki, ktora zwroci uwage na wszystkie podstawowe bledy robione przez poczatkujacych... Oczywiscie oczekuje tez, ze ksiazka ta nie bedzie dawala zlych przykladow i manier - dopoki takiej nie ujrze, nie polece zadnej.
- Gandalf
- Posty: 1802
- Z nami od: 29 czerwca 2002, 04:37
- Lokalizacja: Warszawa
Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040108 Firebird/0.8.0+ (marcoos)
Gandalf pisze:marcoos pisze:AFAIK with() {} jest niezalecaną konstrukcją
Hmm, nie wiem czy jest niezalecana, bo nie wiem kto mialby mi ja zalecac albo nie. Nie wiem tez co oznacza zdanie "moze spowalniac"
Tacy panowie z Netscape mówili:
Netscape DevEdge pisze:Note that using a with statement will significantly slow down your code. Do not use it when performance is critical.
Ale co oni mogą wiedzieć, w końcu co jakiś tam tani ISP może wiedzieć o JS.
Chodzi o to, że takie coś:
- Kod: Zaznacz cały
x.a=cośtam;
x.b=coś_innego;
x.c();
jest szybsze niż
- Kod: Zaznacz cały
with(x) {
a=cośtam;
b=coś_innego;
c();
}
bo nie zmusza engine'u do zastanawiania się, czy a, b, c() istnieją w zasięgu "x", czy może poza nim, czy tu i tu...
Posrod slepcow, jednooki krolem?
Nie jednooki, ale powiedzmy - z lekką krótkowzrocznością.
Osobiscie polecam wylacznie praktyke.
A to niemożliwe. Żeby przejść do praktyki, trzeba znać choćby trochę teorii. Czerpanie teorii ze specyfikacji JavaScriptu, JScriptu czy ECMAScriptu nie jest zbyt przyjemne.
JavaScript jest jezykiem bardzo ciekawym w swej budowie. Przydaje sie doswiadczenie z Javy i z C i z tasma...
Problem w tym, że we współczesnych czasach, ludziki przechodzą do programowania od pisania w HTMLu. I dla nich naturalnie pierwszym językiem programowania jest JavaScript, nie C, ani tymbardziej Java.
Jedyne co udalo mi sie na razie ustalic, to ze w JS najwazniejsze jest kombinowanie i badanie pracy silnika - czyli empiria.
No to każ laikowi bez jakichkolwiek podstaw merytorycznych, bez żadnej książki i bez znajomości C/Objective-C/C++/C#/Javy/Perla/Pythona/Basica/*
siąść przy ich $EDITOR i kazać pisać jakikolwiek skrypt w JS. Choćby wyświetlający okienko "Hello world".
Empiria jest cenna, ale kiedy ma się podstawy.
- marcoos
- Moderator
- Posty: 2227
- Z nami od: 12 października 2002, 10:25
- Lokalizacja: Wrocław
Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031218 Firebird/0.7+
marcoos pisze:Tacy panowie z Netscape mówili:Netscape DevEdge pisze:Note that using a with statement will significantly slow down your code. Do not use it when performance is critical.
Ale co oni mogą wiedzieć, w końcu co jakiś tam tani ISP może wiedzieć o JS.
Chodzi o to, że takie coś:
- Kod: Zaznacz cały
x.a=cośtam;
x.b=coś_innego;
x.c();
jest szybsze niż
- Kod: Zaznacz cały
with(x) {
a=cośtam;
b=coś_innego;
c();
}
bo nie zmusza engine'u do zastanawiania się, czy a, b, c() istnieją w zasięgu "x", czy może poza nim, czy tu i tu...
Sprawdziles czy na slepo piszesz? Bo u mnie with() jest szybsze. Nie ma co sprawdzac, po prostu scope_chain jest ustawiony na witha, wiec on bedzie pierwszy.
A jesli zamiast
- Kod: Zaznacz cały
a=new Ble();
b=new Bla();
a.metoda(b);
return a;
zrobimy
- Kod: Zaznacz cały
return new Ble().metoda(new Bla());
to co bedzie szybsze?
marcoos pisze:A to niemożliwe. Żeby przejść do praktyki, trzeba znać choćby trochę teorii. Czerpanie teorii ze specyfikacji JavaScriptu, JScriptu czy ECMAScriptu nie jest zbyt przyjemne.
Ale juz z prostych przykladow jest mozliwe, czego jestem dowodem.
marcoos pisze:No to każ laikowi bez jakichkolwiek podstaw merytorycznych, bez żadnej książki i bez znajomości C/Objective-C/C++/C#/Javy/Perla/Pythona/Basica/*
siąść przy ich $EDITOR i kazać pisać jakikolwiek skrypt w JS. Choćby wyświetlający okienko "Hello world".
Empiria jest cenna, ale kiedy ma się podstawy.
Jej, to przeczytaj FAQ pl.comp.www, tam znajdziesz pozycje pomagajace zaczac... A potem warto samemu - dluzej, ale za to lepiej.
W zaskakujaco wielu przypadkach wiedza wynoszona z uczelni/szkoly/ksiazki szkodzi i powstrzymuje tworczosc.
- Gandalf
- Posty: 1802
- Z nami od: 29 czerwca 2002, 04:37
- Lokalizacja: Warszawa
Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040108 Firebird/0.8.0+ (marcoos)
Gandalf pisze:A jesli zamiast
- Kod: Zaznacz cały
a=new Ble();
b=new Bla();
a.metoda(b);
return a;
zrobimy
- Kod: Zaznacz cały
return new Ble().metoda(new Bla());
to co bedzie szybsze?
To jest specyficzna sytuacja, kiedy naprawdę nie jest potrzebne tworzenie żadnego a, b.
Ale juz z prostych przykladow jest mozliwe, czego jestem dowodem.
No i proste przykłady często są w książkach. Lepsze lub gorsze, tak samo jak w FAQ pl.comp.www.
Z przykładów wybranych na chybił-trafił ze stron podlinkowanych w FAQ, dowiedziałem się, że używam NN 5.0 i do tego "Dziwna ta Twoja przeglądarka, może bardzo stara". To ja juz wolę nadmiarowe statyczne zmienne u Flanagana...
No i świetnie. Parę linków do stronek
W zaskakujaco wielu przypadkach wiedza wynoszona z uczelni/szkoly/ksiazki szkodzi i powstrzymuje tworczosc.
Za "naszych czasów" nie było stron w stylu www.javascript.pl , które dezinformują, a nie informują o JS (taka jest niestety przeważająca większość). Teraz naprawdę lepiej jest, żeby taki jeden z drugim poczytał książki, bo będąc laikiem nie odróżni strony dobrej od złej. Wiedza wynoszona "ze stronkuff" owocuje manią document.all (a w najlepszym przypadku document.layers), używaniem appName do rozpoznawania przeglądarki, pozowaniem na mastahaka, bo użył oncontextmenu="return false" itp. idiotyzmami.
- marcoos
- Moderator
- Posty: 2227
- Z nami od: 12 października 2002, 10:25
- Lokalizacja: Wrocław
Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040121 Firebird/0.8.0+
marcoos pisze:To jest specyficzna sytuacja, kiedy naprawdę nie jest potrzebne tworzenie żadnego a, b.
I bardzo podobna wystepowala w przykladach z Twojej ksiazki.
marcoos pisze:No i proste przykłady często są w książkach. Lepsze lub gorsze, tak samo jak w FAQ pl.comp.www.
Jasne. Tylko po co wydawac 50 zl na cos co juz masz za darmo w necie?
Ot chocby na dhtmlcentral.com czy alladyn.art.pl czy blatek.25.pl ?
- Gandalf
- Posty: 1802
- Z nami od: 29 czerwca 2002, 04:37
- Lokalizacja: Warszawa
Przeglądarka: Opera/7.50 (Windows NT 5.0; U) [en]
Gandalf pisze:Jasne. Tylko po co wydawac 50 zl na cos co juz masz za darmo w necie?
Ot chocby na dhtmlcentral.com czy alladyn.art.pl czy blatek.25.pl ?
Nie wiem może jestem zacofany, ale wolę jednak kartkować opasłe tomisko (przynajmniej podczas nauki - długiego czytania), niż ślęczeć przed monitorem i psuć oczy
- quiris
- Posty: 659
- Z nami od: 31 lipca 2002, 06:53
Wróć do Programowanie z użyciem technologii Mozilli
Kto jest online
Zarejestrowani użytkownicy: Bing [Bot], Google [Bot], Obywatel84