LAB09 - nvbach91/4IZ268-2022-2023-ZS GitHub Wiki
Vývoj webových aplikací - JavaScript
Oprava domácího úkolu (JavaScript)
- Pokud byste chtěli dostat nějakou hodnotu současného datumu, lze využít
new Date()
- new Date().getFullYear()
- použít jen jeden způsob deklarace funkce
const add = () => {}; // preferovaný
//vs
function add() {}
- nešetřit s názvy proměnných stylem S, V, ... ale area, volume, ...
- nezapomenout na ukončení příkazu pomocí středníku
- nezapomenout na vrácení výsledku z funkce pro další použití jinde (úlohy 9 a 10)
- vždy používat === pro porovnávání hodnot
- naformátovat kód
- pokud funkce vrátí true/false, je možné vynechat === true
- názvy proměnných i funkcí v angličtině a podle doporučené konvence
- kontrola číselných argumentů isNaN, typeof
if { return ...}
pak netreba else
var
nepouzivat, nezapomenout na let
, const
- přepoužít funkci
- camelCase vs PascalCase
Obsah
- String operations and methods
- DOM manipulation
- JavaScript events
- Formulář: button a input
- DEMO: todo list/pokedex
- Domácí úkol
String operations and methods
const str = 'Barrack Obama';
str.length === 13;
str.indexOf('k') === 6;
str.lastIndexOf('a') === 12;
str.search('Oba') === 8;
str.slice(2, 4) === 'rr';
str.slice(8) === 'Obama';
str.slice(-5) === 'Obama';
str.replace('rack', 'rock') === 'Barrock Obama';
str.replace(/a/g, e) === 'Berreck Obeme;
str.toUpperCase() === 'BARRACK OBAMA';
str.toLowerCase() === 'barrack obama';
str.charAt(0) === 'B';
str.split(' ').join(' ') === ['Barrack', 'Obama'].join(' ');
const str2 = ' extrra spaces ';
str2.trim() === 'extrra spaces';
DOM manipulation
document.querySelector()
document.querySelectorAll()
element.innerHTML
element.innerText
element.classList // .add(), .remove(), .contains(), .toggle()
element.style
document.createElement('li');
element.classList.add('selected');
element.addEventListener('submit', (e) => {
e.preventDefault();
});
element.addEventListener('click', () => {
});
parentElement.appendChild(childElement);
childElement.remove();
JavaScript events
element.addEventListener('click', () => {});
element.addEventListener('change', () => {});
element.addEventListener('mouseover', () => {});
element.addEventListener('mouseout', () => {});
element.addEventListener('keydown', () => {});
element.addEventListener('submit', () => {});
Demo: todo list/pokedex
Domácí úkol
Příště
- jQuery
- JSON, AJAX
- API služby