Autor: Piotr Karpiuk o 21. lipca 2016
Poniżej kilka znanych mi idiomów ułatwiających programowanie w języku JavaScript. Prośba do czytelników o podawanie w komentarzach własnych propozycji.
+"15" // 15
Ale uwaga, +"15px"
zwróci NaN, podczas gdy parseInt("15px")
zwróci 15.
+new Date() // 1479390755672
Zamiana daty na liczbę milisekund od 1970-01-01 00:00.000.
typeof cokolwiek; // undefined
Tutaj nie wystąpi błąd, pomimo użycia niezadeklarowanej zmiennej.
var arr = Array.prototype.slice.call( arguments )
var arr = Array.from( arguments ) // ES6
Standardowy mechanizm zamiany przypominającej tablicę zmiennej arguments
(parametry aktualne wywołania funkcji) na prawdziwą tablicę JavaScript.
Czytaj więcej »
Napisany w JavaScript | Brak komentarzy »
Autor: Piotr Karpiuk o 18. lipca 2016
Programując w JavaScripcie i czytając różne książki na temat tego języka, natknąłem się na szereg mało intuicyjnych i dość zabawnych zachowań interpretera. Poniżej moja lista – jeśli ktoś ma inne propozycje, proszę o komentarz.
[1,3,20].sort() // [1,20,3]
Wyjaśnienie: Domyślny komparator sortuje leksykograficznie.
var a = [1,2,3];
var b = [1,2,3];
var c = "1,2,3";
a == c; // true
b == c; // true
a == b; // false
Wyjaśnienie: Zwracaj szczególną uwagę na reguły porównywania za pomocą operatorów ==
i ===
, jeżeli porównujesz dwie wartości typów innych niż proste, takie jak obiekty (typ object
, łącznie z function
i array
). Ponieważ wartości te są w rzeczywistości przechowywane przez odniesienie, więc oba operatory ==
i ===
po prostu sprawdzają, czy odniesienia są takie same; nie sprawdzają faktycznych wartości wskazywanych przez te odniesienia. Z kolei gdy porównujemy typ prosty (np. łańcuch) z obiektem (np. tablicą), tablica jest konwertowana do łańcucha przez po prostu połączenie przecinkami (,
) wszystkich wartości.
Czytaj więcej »
Napisany w JavaScript | Brak komentarzy »
Autor: Piotr Karpiuk o 10. lipca 2016
Google znany jest ze swojego zaangażowania w projekty dotyczące sztucznej inteligencji i uczenia maszynowego. Ostatnio każdy może przetestować jak dobrze sieć neuronowa potrafi na bieżąco rozpoznawać co użytkownik rysuje myszką na ekranie:
Quick, draw!.
Napisany w WWW | Brak komentarzy »
Autor: Piotr Karpiuk o 5. lipca 2016
Dzisiejszy artykuł będzie narzędziach, jakie przeglądarka Google Chrome udostępnia programistom do debugowania i monitorowania aplikacji webowych, pod przyciskiem F12. Dla tych co mają dużo czasu, pełny opis możliwości jest dostępny na stronach Google’a: https://developers.google.com/web/tools/chrome-devtools/. Tutaj zakładam że Czytelnik ma już jakieś pojęcie o tych narzędziach, zapewne już z nich korzysta w jakimś zakresie i chciałby możliwie szybko poszerzyć swoją wiedzę o różne przydatne i ciekawe triki, które pojawiły się ostatnimi czasy, lub były od dawna ale nie są oczywiste.
Task Manager
Kombinacja klawiszy Shift+ESC otwiera managera zadań, w którym możemy zobaczyć zużycie zasobów komputera z rozbiciem na poszczególne zakładki przeglądarki:
Edycja drzewa DOM
Czytaj więcej »
Napisany w Google Chrome, JavaScript, Nowoczesne przeglądarki WWW, WWW | Brak komentarzy »