Milan Herda, 05/2020
Príklady rob v úplne novom súbore a spúšťaj si ich pomocou terminálu
Týmto príkazom v termináli spustíš JS súbor:
node názov-suboru.js
Nezabudni, že v termináli musíš byť v správnom priečinku alebo uviesť celú cestu k súboru a nielen názov
Najjednoduchšie bude, keď si terminál otvoríš vo vnútri VS Code cez menu "Terminal > New Terminal"
// vytvor anonymnú funkciu
function () {
}
// vytvor anonymnú funkciu
// do konzoly vypíše text "foo"
function () {
console.log('foo');
}
// vytvor anonymnú funkciu
// do konzoly vypíše text "foo"
// funkciu ulož do premennej foo
const foo = function () {
console.log('foo');
}; // všimni si pribudnutú bodkočiarku
// vytvor anonymnú funkciu
// do konzoly vypíše text "foo"
// funkciu ulož do premennej foo
// daj funkciu vykonať
const foo = function () {
console.log('foo');
};
foo();
// vytvor anonymnú funkciu
function () {
}
// vytvor anonymnú funkciu
// do konzoly vypíše text "bar"
function () {
console.log('bar');
}
// vytvor anonymnú funkciu
// do konzoly vypíše text "foo"
// funkciu neukladaj do žiadnej premennej
function () {
console.log('bar');
}
// vytvor anonymnú funkciu
// do konzoly vypíše text "foo"
// funkciu neukladaj do žiadnej premennej
// daj funkciu vykonať
(function () {
console.log('foo');
})();
/*
* Toto je pokročilejšia vec a hovorí sa jej
* IIFE:
* Immediately Invoked Function Expression
* Použitie: vykonanie kódu bez toho, aby
* do aktuálneho rozsahu platnosti pribudli nové premenné
* z vnútra funkcie.
*/
const jeParne = function (cislo) {
return ((cislo % 2) === 0);
};
const blabla = function (cislo) {
if (jeParne(cislo)) {
return cislo * cislo * cislo;
}
return cislo;
};
const generujCisla = function(min, max) {
let vygenerovane = min;
while (vygenerovane <= max) {
console.log('Vygenerované číslo: ' + vygenerovane);
vygenerovane = vygenerovane + 1;
}
};
generujCisla(1, 10);
generujCisla(123, 132);
generujCisla(-40, -35);
generujCisla(50, 40);
const generujCisla = function(min, max) {
for (let i = min; i <= max; i = i + 1) {
console.log('Vygenerované číslo: ' + i);
}
};
generujCisla(1, 10);
generujCisla(123, 132);
generujCisla(-40, -35);
generujCisla(50, 40);
const generujCisla = function(min, max, modifikator) {
for (let i = min; i <= max; i = i + 1) {
let text = 'Vygenerované číslo: ' + i;
text = text + ', modifikované: ' + modifikator(i);
console.log(text);
}
};
generujCisla(1, 10, blabla);
generujCisla(123, 132, blabla);
generujCisla(-40, -35, blabla);
generujCisla(50, 40, blabla);
const druhaMocnina = function (cislo) {
return cislo * cislo;
};
const dajModifikator = function () {
return druhaMocnina;
};
const modifikator = dajModifikator();
generujeCisla(10, 20, modifikator);
const dajModifikator = function () {
const druhaMocnina = function (cislo) {
return cislo * cislo;
};
return druhaMocnina;
};
const modifikator = dajModifikator();
generujeCisla(10, 20, modifikator);
const dajModifikator = function () {
return function (cislo) {
return cislo * cislo;
};
};
const modifikator = dajModifikator();
generujeCisla(10, 20, modifikator);
const vytvorPripocitavadlo = function () {
return function (cislo) {
return cislo + 2;
};
};
const pripocitavadlo = vytvorPripocitavadlo();
console.log(pripocitavadlo(1)); // vypíše 3
generujCisla(10, 20, pripocitavadlo);
const vytvorPripocitavadlo = function (x) {
return function (cislo) {
return cislo + x;
};
};
const pripocitavadlo = vytvorPripocitavadlo(5);
console.log(
pripocitavadlo(1)
); // vypíše 6
generujCisla(10, 20, pripocitavadlo);