-
Data: 2014-11-12 11:19:16
Temat: Re: Makra higieniczne w jezyku Scheme
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu środa, 12 listopada 2014 11:00:53 UTC+1 użytkownik firr napisał:
> jawaskrypt ciekawy jezyk, nieststy ciagle nie mam sily sie go nauczyc, tylko czasem
wpadaja mi w oko kwiatki ktore rozumiem albo ktorych nie rozumiem
>
> mialbys moze chwile by wyjasnic mi co tutaj sie
> przykladowo dzieje
>
> io.sockets.on("connection", function (socket) {
> socket.unit = null;
> socket.on("connectServer", function (data, reply) {
> var unit = new IB.Player(data);
>
> worldHandler.addUnit(unit);
> }
> });
>
> mniej chodzi mi o sementyke ale o skladnie
> co to jest? cialo funkcji przekazywane jako argument? a dalej w srodku z tym
socket.on to samo? sa to po prostu skrotowe zapisy by nie pisac 3 cial funkcji w
trzech miejscach czy cos wiecej?
jest mniej wiecej tak jak mowisz. (jednak zamiast powiedziec, ze "cialo funkcji
jest przekazywane jako argument", raczej bym powiedzial, ze "funkcja jest
przekazywana jako argument")
zgodnie z oczekiwaniem, moglbys alterniatywnie zapisac:
function connectServerHandler(data, reply) {
var unit = new IB.Player(data);
worldHandler.addUnit(unit);
}
function connectionHandler(socket) {
socket.unit = null;
socket.on("connectServer", connectServerHandler);
}
io.sockets.on("connection", connectionHandler);
nie ma duzej roznicy pomiedzy takim kodem, a np. kodem w C
przekazujacym wskazniki do funkcji.
w ogolnosci jednak sila ekspresji javascriptu jest wieksza,
niz sila ekspresji C, poniewaz mozesz w js tworzyc tzw. "domkniecia"
("closures"), czyli funkcje ktore przechowuja swoje lokalne srodowisko.
klasyczny przyklad wyglada tak:
function make_counter() {
var counter = 0;
return function() { return ++counter; }
}
var c = make_counter();
print c(); // 1
print c(); // 2
print c(); // 3
w C mozesz oczywiscie uzyskac funkcjonalnie podobny efekt, przekazujac
do funkcji osobna strukture (wiele bibliotek ma takie interfejsy, ze
pobieraja wskaznik na funkcje i wskaznik void *, ktory funkcja
ma sobie sama rzutowac do odpowiedniego typu)
Następne wpisy z tego wątku
- 12.11.14 11:41 firr
- 12.11.14 12:11 g...@g...com
- 12.11.14 12:13 firr
- 12.11.14 12:20 g...@g...com
- 12.11.14 12:22 firr
- 12.11.14 12:31 firr
- 12.11.14 12:34 firr
- 13.11.14 11:40 firr
Najnowsze wątki z tej grupy
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
Najnowsze wątki
- 2025-07-30 Białystok => Software Engineer .Net <=
- 2025-07-30 Gdańsk => Programista Delphi <=
- 2025-07-30 Kolejni bezrobotni inżynierowie na zasiłkach...
- 2025-07-30 Rzeszów => International Freight Forwarder <=
- 2025-07-30 Warszawa => Konsultant Wiodący SAP PP <=
- 2025-07-30 MILLER ZAORAŁ PRO-UKRAIŃSKIEGO REDAKTORA
- 2025-07-29 "cywilny przemysł stoczniowy w USA praktycznie nie istnieje"
- 2025-07-29 Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- 2025-07-29 Re: PLL LOT na pokładzie zemdlało kilku pasażerów, a linie lotnicze nie zapewniły nawet podstawowego wsparcia - choćby szklanki wody.
- 2025-07-29 Re: Podkreślają też wielką szkodliwość zdrowotną wiatraków, które usytuowane bardzo blisko siedlisk ludzkich mają negatywny wpływ na zdrowie ludzkie".
- 2025-07-29 Re: bełkot reklamowy eSIM, których nikt nie chce, bo są niebezpieczne.
- 2025-07-29 Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- 2025-07-29 Warszawa => IT Data Analyst (Power BI) <=
- 2025-07-29 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-07-28 Warszawa => Sales Executive / KAM <=