![]() |
Jako mi se sviđa ovaj tekst - A re-introduction to JavaScript - pored toga što je odličan uvod za one koji se prvi put sreću s jezikom, izuzetno je koristan za one koji JS koriste već dugo pa su moguće i nesvesni nekih novina koje su već godinama usvojeni standardi.
Tu recimo lepo piše da su ova dva načina zadavanja funkcije semantički ekvivalentna. ... u praksi se potom vrlo često sretneš s korišćenjem anonimnih funkcija - pri definiciji metoda objekata, hendlera za obradu događaja i slično - pa je stilski jednostavnije koristiti ih i za običnu definiciju funkcija. Ako to neko ne ume da pročita, žao mi je, neka nauči jezik - bitno je da se taj kod valjano izvršava u browseru. |
ma ok, ali mislim da se time unosi nepotreban nivo komplexnosti u skript...
Mozda sam ja staromodan, ali ja ne vidim smisao u takvoj promeni stila, niti mislim da je to jednostavnije....ima svoje primene naravno, kao sto i kazu na Mozilla stranici: "It's extremely powerful, as it lets you put a full function definition anywhere that you would normally put an expression."... za to je takva sintaxa super, za to je koristim i ja ili kod dodele event-handlera. Ali za kreiranje staticnih funkcija mi se ne cini pogodno... 99% programskih jezika ima sintaxu za funkciju koja glasi: kljucna_rec ime_funkcije (lista parametara) gde je kljucna rec function, sub, def ili sta vec (ok, strong-typed jezici imaju jos i definiciju tipova, ali struktura je ta). Sto znaci da ako napises klasicno function pera (a, b, c) { } to ce moci da procita svaki programer na planeti zemlji, ako napises preko dodele reference na anonimnu funkciju (mada je to apsolutno tacna sintaxa) to ce moci da procita samo neko sa iskustvom u naprednom JS-u, a sve ostale ces zbuniti... plus imas vise da kucas..:) just my $0.02 :) |
Hehe, obfuscation as in Perl :D
|
Jos kad velike zagrade ne bi postojale uopste (paskaloidna sintaksa)...
Citat:
Da nastavim offtopic, sve sto se moze zloupotrebiti zloupotrebi se, case sensitivity na simbolima -> camelcase ;) |
Citat:
@bojan: zar bi tebi bilo normalno da u programima koje pises na jednom mestu stavis varijablu kao ExampleVar, na drugom examplevar a na trecem EXAMPLEVAR, samo zato sto ti se moze? Verovatno ne, a zasto ti onda case (in)sensitivity uopste igra uopste? @ivanhoe: ako neko koristi sintaksu koja je "napredna", verovatno je koristi s razlogom... Koristiti neki vid sintakse da bi programeri, koji nisu strucni za dati jezik, razumeli tvoj kod je poprilicno besmisleno - ako neko hoce da menja tvoj kod, ne bi bilo lose da se prvo upozna sa sintaksom jezika, zar ne? Nemoj da sad navodim perl primere :D |
Zbog camelcase - naravno da ja to ne koristim, ali drugi koriste.
|
Citat:
|
$document -> get_element_by_id () ... ako neko ne voli kamile ;-)
|
Citat:
Off Topic: Što se camel vs underscore tiče sve je stvar kakve konvencije usvojiš. Npr. meni su sve promenljive i funkcije underscore, dok su mi imena svih klasa i metoda camel, a konstante su uvek upper. Python mi se ne sviđa upravo zbog tog hakeranskog pristupa - skoro sve je underscore i sve skraćuju (get_cmd_args). To mi je ružno. Doduše, mogu da se pohvalim da imam klasu Angie_DBA_Generator_Relationship_HasAndBelongsToMa ny, ali to je više zbog odsustva podrške za namespace u PHP-u i moje želje da budem dosledam konvencijama koje pokušavam da izgradim u kodu (ako se lead developer na nekom projektu ne pridržava konvencija, niko neće), nego zato što to smatram dobrim i pohvalnim. No, to je sad već neka druga priča... Živeli kraljevi offtopica! |
Citat:
sad ste mnogo rasilirili pricu, radilo se o stilu deklaracije funkcije u JS, ne o nekoj extra "optimizaciji za laike"... a tu se ne radi o laicima, radi se o uobicajenom vs. neobicajenom (ili bar manje uobicajenom) stilu formatiranja koda... no dobro, u krajnjoj liniji to je pitanje ukusa, ja cu svoje funkcije i dalje da pisem na stari nacin, a vi pravite anonimne i svi srecni :) Eh, da.. Srecan bozic, onima kojima je bozic...:) |
Vreme je GMT +2. Trenutno vreme je 18:34. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.