MozillaPL.org - polskie centrum Mozilli

Główne menu:

JavaSkript - gdzie???

Projektowanie aplikacji i rozszerzeń opartych na technologiach Mozilla Foundation: XUL, JavaScript, XPCOM, XBL i innych

Moderator: Pomocy?!

JavaSkript - gdzie???

Postautor: Gość » 22 stycznia 2004, 21:04

Przeglądarka: Mozilla/5.0 (Windows; U; Win 9x 4.90; PL; rv:1.5) Gecko/20031007

Przepraszam, że na tym forum ale juz nie wiem, gdzie zapytać.

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ść
 

Postautor: quiris » 22 stycznia 2004, 21:28

Przeglądarka: Opera/7.50 (Windows NT 5.2; U) [en]

Najlepsza książka na świecie (poprawcie mnie, jeśli się mylę ;)) to JavaScript - Przewodnik programisty Davida Flanagana. Naprawdę warto to mieć w swojej biblioteczce.
Ostatnio zmieniony 22 stycznia 2004, 21:31 przez quiris, łącznie zmieniany 1 raz
quiris
 
Posty: 659
Z nami od: 31 lipca 2002, 06:53

Postautor: Olhado/256 » 22 stycznia 2004, 21:28

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.0; pl-PL; rv:1.6) Gecko/20040113

Najpierw looknij tutaj, a potem ewentualnie tutaj :)
Pamiętaj obywatelu: WTYCZKI TO NIE TO SAMO, CO ROZSZERZENIA!
WinXP SP2
Olhado/256
Moderator
 
Posty: 3878
Z nami od: 26 września 2002, 09:47
Lokalizacja: Wrocław

Postautor: Gość » 22 stycznia 2004, 22:40

Przeglądarka: Mozilla/5.0 (Windows; U; Win 9x 4.90; PL; rv:1.5) Gecko/20031007

Olhado/256 pisze:Najpierw looknij tutaj, a potem ewentualnie tutaj :)


No tak, ale wiesz, że w Sieci jest oprócz dobrych rzeczy dużo śmiesi, a tutaj mam pewność (prawie ;) ), że śmiecia mi nie polecicie.

Dzięki
Gość
 

Postautor: marcoos » 22 stycznia 2004, 22:48

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040108 Firebird/0.8.0+ (marcoos)

Ja polecam to co quiris:

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

Postautor: quiris » 22 stycznia 2004, 23:26

Przeglądarka: Opera/7.50 (Windows NT 5.2; U) [en]

Jest jeszcze trzecia:

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

Postautor: marcoos » 22 stycznia 2004, 23:38

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040108 Firebird/0.8.0+ (marcoos)

quiris pisze:Jest jeszcze trzecia:
Jerry Bradenbaugh - JavaScript. Receptury


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

Postautor: Gandalf » 23 stycznia 2004, 00:02

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040114 Firebird/0.7+

brrr. nie polecam zadnej z tych ksiazek.
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

Postautor: marcoos » 23 stycznia 2004, 01:15

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

Postautor: Gandalf » 25 stycznia 2004, 13:47

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040114 Firebird/0.7+

marcoos: musialbym ksiazke do reki zlapac (chyba, ze jest na jakiejs otwartej?) i przypomniec sobie. Ale ta ksiazke tez czytalem swego czasu i jestem pewien ze mojego obrazu "ksiazek o JS" zbytnio nie poprawila.

Ale to tylko moja opinia
Gandalf
 
Posty: 1802
Z nami od: 29 czerwca 2002, 04:37
Lokalizacja: Warszawa

Postautor: marcoos » 25 stycznia 2004, 15:53

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040108 Firebird/0.8.0+ (marcoos)

Tu są dwa rozdziały oryginału:

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

Postautor: Gandalf » 25 stycznia 2004, 16:26

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040121 Firebird/0.8.0+

i w drugim z nich, w kazdym skrypcie masz okazje zobaczyc ilosc nadmiarowych zmiennych tworzonych zaupelnie bez sensu. Apogeum osiagamy w skrypcie TOC, gdzie liczba nadmiarowych zmiennych na oko przekracza 30-40. Zamiast 3/4 z nich mozna uzyc with() i nie dosc, ze struktura bedzie ladniej wygladac, to jeszcze mnie pamieci pozre.
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

Postautor: quiris » 26 stycznia 2004, 09:00

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

Postautor: marcoos » 26 stycznia 2004, 13:34

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ę. :D ;)

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. :D

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

Postautor: Gandalf » 26 stycznia 2004, 16:04

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ę. :D ;)


;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

Postautor: marcoos » 26 stycznia 2004, 19:11

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. :D :)

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

Postautor: Gandalf » 26 stycznia 2004, 21:50

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. :D :)

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

Postautor: marcoos » 26 stycznia 2004, 23:03

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. :D

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

Postautor: Gandalf » 27 stycznia 2004, 10:24

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. :D


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

Postautor: quiris » 27 stycznia 2004, 10:51

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

Następna

Wróć do Programowanie z użyciem technologii Mozilli

Kto jest online

Zarejestrowani użytkownicy: Bing [Bot], Google [Bot], Obywatel84

Przejdź do powiązanej strony

Nawigacja:

Stopka: