JavaScript - teoria a praktyka, Czyli czemu mozna (nie) lubic JS |
JavaScript - teoria a praktyka, Czyli czemu mozna (nie) lubic JS |
16.07.2009 - 14:55
Post
#1
|
|
![]() Bywalec ![]() ![]() ![]() Grupa: Bywalec Postów: 100 Dołączył: 12.05.2009 Skąd: Przyłek / Warszawa Użytkownik nr: 509 |
Ostatnio zaczalem czesciej pisac cos na WWW, glownie pisalem desktopowe programiki. Znow musialem skorzystac odrobine z JS, ktorego nie lubie. Dlaczego? Powodow jest wiele:
1). Zmienne globalne 2). Widocznosc zmiennych wewnatrz obiektow 3). Inne rozbieznosci (zeby nie powiedziec 'absurdy'!) w stosunku do zalozen ECMA. Ogolnie nigdy nie jestem pewien jak zadziala napisany przeze mnie kod, wszystko robi sie 'na czuja' lub 'metoda prob i bledow'. Przyklad? Wg ECMA: false, null, "", '0' oznaczaja to samo, sa tak samo interpretowane, ale jak jest w praktyce? KOD false=='0' //zwraca false false==null //zwraca false null == "" //false null == '0' //false To nie jedyny problem z operatorem ==. Najwazniejsze ze jest on nieprzemienny (a raczej: nie zawsze przemiennosc zwraca ten sam wynik). Ostatnio w rece mi wpadla ksiazka: "JavaScript - Mocne strony", po jej lekturze postanowilem napisac o swoich odczuciach. Autor tej malej ksiazeczki zaleca uzywanie operatora ===, ktory jest obecny w standardzie JS i dziala poprawnie. Kolejna sprawa, to wartosci calkowitoliczbowe w JS. Takowych nie ma w tym jezyku. Sa za to wartosci zmiennoprzecinkowe, ktore sa poddawane konwersji do liczb calkowitych. Powoduje to spowolnienie wykonania skryptu, nawet o 50% (zalezy ile liczb calkowitych wykorzystuje kod skryptu - 50% to dla skryptu podstawowego kalkulatora i operacji na calkowitych liczbach). Oczywiscie 90% webmasterow uzywa tych "nieprawidlowych" elementow jezyka. Ech, dlatego wyczekuje czegos, co zastapi ten denerwujacy jezyk (o ktorym nadal mowi sie, ze jest w powijakach). A jaka jest wasza opinia na ten temat? |
|
|
|
Michał Kilijanek JavaScript - teoria a praktyka 16.07.2009 - 14:55
Jan Koprowski JS zawsze wydawał mi się dziwny. Nie wiem dokładni... 16.07.2009 - 23:05
Michał Kilijanek CYTAT(Jan Koprowski @ ptk, 17 lip 2009 ... 18.07.2009 - 09:48
Marcin Czołnowski Dopóki nie usiadłem do jQuery to też miałem ten pr... 17.07.2009 - 02:56
Elroy Podobnie, jak przedmowca, korzystam z mozliwosci, ... 17.07.2009 - 08:14
pepkin88 Zmienne globalne Ci przeszkadzają? Korzystasz z ni... 17.12.2009 - 20:52
slawek22 CYTATfalse=='0'
W PHP i innych językach o ... 17.12.2009 - 22:26![]() ![]() |
| Wersja Lo-Fi | Aktualny czas: 21.05.2012 - 16:30 |