Wyszukaj / o blogu

JavaScript: formularze

Opublikowano sob 19 grudnia 2020 w javascript • Tagi: bootstrap, js, javascript, formularze, walidacja • 2 min read

java-script-formularz

Formularz

"Łapanie" formularza na 2 sposoby = poprzez odwołanie się do forms lub poprzez "klasyczne" selektory

const firstForm1 = document.forms[0]
const firstForm2 = document.querySelector("form")

Właściwości formularza (wybrane)

właściwość formularza funkcja Przykład zastosowania
formularz.elements "zwraca kolekcję kontrolek zawartych" w formularzu firstForm1.elements
formularz.length "zwraca ilość kontrolek" w formularzu …

Czytaj dalej

JS: jQuery

Opublikowano ptk 18 grudnia 2020 w javascript • Tagi: jquery, javascript, js, css • 3 min read

jQuery

Użytkowanie

Link do biblioteki jQuery należy umieścić w sekcji head strony internetowej, w tym celu można wykorzystać dostępny kod (jQuery Core – All Versions) i przekopiować go do opracowywanego projektu lub wykorzystać link CDN

jQuery CDN – Latest Stable Versions

Składania

$ - znak dostępu do biblioteki jQuery

selektory (np. ) - przeszukują dokument w celu …


Czytaj dalej

JavaScript i Fetch API

Opublikowano pon 20 lipca 2020 w javascript • Tagi: javascript, js, node.js, fetch, fetch api, throw, error • 4 min read

fetch-api

Fetch jest API/interfejsem należącym do przeglądarki, ale jest również dostępny przy pomocy node.js -> import fetch from 'node-fetch', który pozwala na asynchroniczne pobieranie danych z serwera.

Fetch bazuje na obietnicach -> Zwraca zapytanie HTTP jako obietnicę tego zapytania. W momencie wykorzystania metody fetch() tworzony jest obiekt typu Promise - oznacza to …


Czytaj dalej

JavaScript: XMLHttpRequest i REST API

Opublikowano pon 29 czerwca 2020 w javascript • Tagi: javascript, js, ajax, rest, XMLHttpRequest, delete, get, put • 2 min read

!XMLHttpRequest

REST -> Representational state transfer (pl. zmiana stanu poprzez reprezentacje)

Wysyłanie danych

Tym razem do prezentacji możliwości XMLHttpRequest posłużę się fake API -> https://reqres.in/ ("A hosted REST-API ready to respond to your AJAX requests"), które pozwala na ćwiczenie funkcjonalności REST API

Wysyłanie danych wymaga

(1) przygotowanie danych do wysłania

  const …

Czytaj dalej

JavaScript: XMLHttpRequest - wstęp (GET)

Opublikowano pon 29 czerwca 2020 w javascript • Tagi: javascript, js, ajax, rest, XMLHttpRequest, github, github api, api • 3 min read

XMLHttpRequest

XMLHttpRequest

XMLHttpRequest (XHR) służy do wykonywania dynamicznych (asynchronicznych) połączeń z serwerem i jest wykorzystywany do 1) aktualizacji informacji zawartych na stronie internetowej UPDATE 2) wysłania żadania danych do serwera po załadowaniu strony - REQUEST 3) przyjęcia informacji przesłanej przez serwer - po załadowaniu strony RECEIVE 4) przesłania danych do serwera (w tle …


Czytaj dalej

JavaScript: Webpack - krótkie wprowadzenie

Opublikowano ptk 26 czerwca 2020 w javascript • Tagi: webpack, webpack@4, javascript, task runner, transpilacja • 4 min read

webpack

Wstęp

Webpack generuje tzw. pakiety (ang. bundles -> bundle.js) na podstawie wytworzonego tzw. drzewa zależności oraz dostosowanie ich do formatu czytelnego dla możliwie jak najszerszego zakresu przeglądarek internetowych - jest swego rodzaju kompilatorem powstałej treści na podstawie różnych formatów do takiego, który przyjmuje przeglądarka internetowa (js,html,css). W tym sensie …


Czytaj dalej

JavaScript i moduły - CommonJS i import/export(ES6)

Opublikowano ptk 12 czerwca 2020 w javascript • Tagi: js, import, require, moduły, modules, export • 2 min read

mandalorian

Wstęp

Podział projektu na mniejsze pliki (modułowość) może przynieść sporo korzyści w związku z jego utrzymaniem oraz reużywalnością kodu w innych projektach, pozwala na to (CommonJS oraz moduły wprowadzone w ES6.

CommonJS jest standardem wykorzystywanym przez node.js natomiast moduł ES (ES6) jest przeznaczony dla przeglądarek


CommonJS

Importowanie zależności (w …


Czytaj dalej

JavaScript: Set i Map

Opublikowano ptk 12 czerwca 2020 w javascript • Tagi: js, est, map, es6, set • 2 min read

set_and_map

ES6 wprowadza 2 dodatkowe struktury przechowywania danych Map oraz Set

Map

Mapa jest kolekcją danych, do których przyporządkowane są klucze, w odróżnieniu od zwykłego Obiektu w tym przypadku klucze mogą być dowolnego typu/o dowolnym typie przykładowo kluczem może być Obiekt

Przykładowo:

let map = new Map();

map.set('1', 'str1 …

Czytaj dalej

JavaScript: asynchroniczność i AJAX

Opublikowano czw 11 czerwca 2020 w javascript • Tagi: javascript, js, asynchroniczność, call stack, Web Api, obietnice, promises, callback, promise • 3 min read

ajax

Wstęp

JavaScript w swoim założeniu jest jednowątkowa, kod wywoływany jest w sposób synchroniczny (linia po linii), w zestawieniu z node.js lub przeglądarką internetową może stać się asynchroniczna (kod dalej jest wywołany po kolei, ale jego elementy nie zatrzymają wywołania się reszty kodu np. w przypadku obiektu Window i metody …


Czytaj dalej

JavaScript - Babel

Opublikowano wto 09 czerwca 2020 w javascript • Tagi: babel, transpilacja, gulp, npm, node.js, node • 2 min read

babel

Babel pozwala na transpilację/tłumaczenie kodu ES6+ do ES5 - sprawiając tym samym możliwość na interpretację kodu przez szerszą gamę środowisk od node.js po starsze przeglądarki internetowe. Babel jest oparty na małych wtyczkach, których instalacja pozwala na wykonanie oczekiwanej od niego pracy.

W jaki sposób działa Babel można również sprawdzić …


Czytaj dalej

JavaScript - krótkie wprowadzenie do testowania kodu

Opublikowano śro 03 czerwca 2020 w javascript • 1 min read

TDD

Dlaczego warto stosować testy/Do czego służą testy?

[..........]

TDD - test driven development - testowanie aplikacji na bieżąco, podczas realizacji kolejnych kroków, może to być związane z tworzeniem testu jeszcze przed napisaniem danego bloku kodu

Unit test - inaczej testowanie jednostkowe - polega na rozbiciu kodu na jak najmniejsze części i poddawanie ich testom …


Czytaj dalej

JavaScript - NPM

Opublikowano czw 28 maja 2020 w javascript • Tagi: gitignore, npm, Dependencies, devDependencies, package.json, ubuntu • 1 min read

npm-logo

NPM

Korzystając z domyślnej opcji instalacji paczki/wtyczki z NPM w przypadku Ubuntu stosując opcję instalacji globalnej należy wykorzystać uprawnienia administracyjne sudo. Aby uniknąć instalowania wtyczkę w ten sposób (i przekazywania im możliwości edytowania ustawień systemowych) należy zastosować niżej opisane kroki.

1) Należy stworzyć folder, w którym będą zapisane paczki …


Czytaj dalej

JavaScript - Gulp

Opublikowano czw 28 maja 2020 w javascript • Tagi: gitignore, node_modules, node, gulp, sass, wtyczki, npm, Dependencies, devDependencies, package.json • 4 min read

Gulp

Instalacja globalna

Gulp - jest narzędziem pozwalającym na zarządzanie wieloma zadaniami

Instalacja globalna Gulpa (wymaga wcześniejszej instalacji npm np. korzystając z nvm - Node Version Manager), która pozwala na wywoływanie komendy gulp globalnie przy pomocy terminala

npm install --global gulp-cli

Sprawdzanie instalacji (jej wersji)

gulp -v

zwraca:

CLI version: 2.2.1 …

Czytaj dalej

JavaScript - przechowywanie danych lokalnie oraz w sesji

Opublikowano ptk 22 maja 2020 w javascript • Tagi: js, javascript, local storage, przechowywanie danych lokalnie • 1 min read

Lokalna pamięć przeglądarki pozwala na przechowywanie danych przy pomocy JavaScript bezterminowo.

Dane przechowywane w lokalnej pamięci przeglądarki nie mogą przekroczyć 5mb i nie powinny znajdować się w nich dane poufne. Lokalna pamięć przeglądarki działa w sposób synchroniczny (odpowiada na zapytania po kolei).

Aby korzystać z tzw local storage (LS) można …


Czytaj dalej

JavaScript i trzykropek (...) -> "rozproszenie"/"reszta"

Opublikowano czw 21 maja 2020 w javascript • Tagi: javascript, js, array, tablica, ES6, ES2015 • 2 min read

Zastosowanie trzech kropek wprowadzonych w ES6 - pozwala na rozwinięcie wyrażenia iterowalnego (wielokorotnie powtarzalnego/przejściowego) jako spread operator lub parametr rest.

Trzykropek można stosować w kontekście obiektów, tablic, stringów, zbiorów (setów) i map.

Spread Operator -> Rozproszenie

Dzieli kolekcję tworząc tablicę

Pozwala na rozciągnięcie (rozproszenie/rozwinięcie) obiektu mogącego ulec iteracji wewnątrz odbiorcy …


Czytaj dalej

JavaScript - klasy

Opublikowano ptk 15 maja 2020 w javascript • Tagi: js, javascript, klasy, classes • 2 min read

Klasy pozwalają na przypisanie metod bezpośrednio do (prototypów) obiektów przy pomocy jednego bloku (od ES6)

class Droid {
    constructor(name, occupation) {
        this.name = name;
        this.occupation = occupation;
    }

    logDroid() {
        return `this is ${this.name} a ${this.occupation} // metoda prototypowa -> __proto__: Object
    }
}

const c3po = new Droid('C-3PO', 'Protocol droid');
const r2d2 = new Droid …

Czytaj dalej

JavaScript - etykietowanie funkcji

Opublikowano pon 11 maja 2020 w javascript • Tagi: javascript, js, tag, function, funkcja, etykietowanie, tagged function • 2 min read

Template strings lub też literals zwane po polsku łańcuchami szablonowymi

Łańcuchy szablonowe [wcześniej wspominałem o nich w tym miejscu] pozwalają na podstawianie zmiennych wewnątrz informacji przeznaczonymi do druku i zawartymi pomiędzy apostrofami [ warto pamiętać o tym, że stosowanie tego formatu zapisu nie wymaga używania sekwencji ucieczkowej -> /n]

Przykładowo:

const droid …

Czytaj dalej

DOM: NodeList i HTML Collection

Opublikowano wto 05 maja 2020 w javascript • Tagi: javascript, js, dom, kolekcje węzłów DOM, kolekcja węzłów DOM, collection of DOM nodes • 1 min read

Kolekcje węzłów DOM

Typy węzłów

  • element node
  • attribute node
  • text node
  • comment node

NodeList

Uporządkowana lista wszystkich węzłów DOM (w tym również węzłów tekstowych oraz bloków tekstowych), obiekty można uzyskać poprzez odwołanie się do indeksu

querySelectorAll()/getElementsByName() - - metody document zwracające NodeList

NodeList posiada metodę forEach() !!

NodeList, jest static - zwrócona lista …


Czytaj dalej

JavaScript - wydarzenia DOM cz. 2 - propagacja

Opublikowano pon 04 maja 2020 w javascript • Tagi: dom, js, javascript, events, propagacja, propagacja wydarzenia, selectors • 1 min read

Propagacja wydarzeń (w górę) - event bubbling

W DOM domyślnie wydarzenia są przenoszone od dziecka lub rodzeństwa do rodzica lub rodzeństwa - oznacza to, że jeśli rodzic oraz dziecko mają nastawioną ten sam rodzaj akcji wywołującej (np. click) oraz różne lub tą samą wydarzenie wywołane, oba z nich dojdą do skutku chyba …


Czytaj dalej

JavaScript - wydarzenia DOM cz. 1

Opublikowano pon 04 maja 2020 w javascript • Tagi: dom, js, javascript, events, wydarzenia, selectors • 3 min read

Nasłuchiwacz wydarzeń ;)

Aby dodać interakcji do strony internetowej przy pomocy JS należy do wybranego przez siebie elementu dołączyć tzw. 'nasłuchiwacz wydarzeń' (ang. event listener)

.addEventListener(wydarzenie, funkcja-przekazana-do-wywołania) - ta metoda przyjmuje dwa argumenty rodzaj 1) rodzaj wydarzenia np. 'click' (kliknięcie myszy) oraz 2) funkcję jaka ma się wywołać w momencie jego …


Czytaj dalej