Diskuze: JavaScript - zložitejšie funkcie - príklady 14
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 13 zpráv z 13.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
function ask(name) {return prompt("Koľko kusov "+names[name]+" potrebujete?");}
var names = {tuzky: 'tuzky', pera: 'pera', gumy:'gumy'};
var sklad = {tuzky: 11, pera: 23, gumy:30}
var need = {tuzky: 0, pera: 0, gumy:0}
type = 'tuzky'; need[type] = ask(type);
type = 'pera'; need[type] = ask(type);
type = 'gumy'; need[type] = ask(type);
U programovani je dobre, abys mel co nejvic kodu podobneho. Zvysuje to prehlednost a moznost komprimace zipem, treba.. Pripadne, abys to psal spolecne, mel funkci, ktera vyresi objednavku jedne kategorie zbozi.
Nebo, myslis, jako, kdyz z prompt dostanes cislo spatne (text), co s tim?
Pomoci replace z toho odstranis vsechny znaky, ktere nejsou cislo. A pak tam
zustane cislo nebo prazdny retezec. Takze pradno je spatne a nula mozna je take
spatne? Pozor, melo by to vracet string, takze je treba to prevest jeste na
cislo
value = prompt("Koľko kusov potrebujete?");
value = value.replace(/\D+/g, '');
value = value * 1; // nebo value.toInt() nebo neco takoveho
if (value == '' || value == '0') alert('chybna objednavka')
No mal som na mysli, že keď užívateľ zadá do prompt enter, malo by to vyhodiť chybnú hlášku. Ale, ako pozerám, ten replace, mi asi postačí.
Prompt je velmi stara funkce, ktera se vicemene uz moc nepouziva. Treba jen jako potvrzeni nejake udalosti (smazani zaskrtnutych souboru, treba). Pokud to neni v zadani, ze mas pouzit prompt (coz ti asi priklad zjednodusi), tak bych si vyrobil normalni html formular.
console.log je taky velmi stara funkce, spatny argument .. prompt je naprosto
v pohode
funkce
function porovnajMnožstvoTovaru(kancelarskePotreby){
return kancelarskePotreby;
}
a
function compareTheAmountOfGoods(officeItem){
return officeItem;
}
nedavaji zadny smysl protoze jenom vrati argument tak jak byl zadan, k cemu
ho pak davat do funkce kdyz ho muzu proste rovnou napsat? Jako treba fuknce
"vratCislo"
vratCislo(5) .. vrati 5 .. to muzu proste rovnou napsat 5
kdybych neco takoveho mel programovat .. pro zabavu .. sel bych asi podobnou cestou -> funkce maji byc co nejvic obecne a co nejmene konkretni ...
tady si to muzes vyzkouset -> Repl.it
const goods = [{
name: "Pens",
stock: 0,
needed: 0,
},
{
name: "Papers",
stock: 0,
needed: 0,
}]
/**
* Vrati objekt dle jmena
*/
function getStuff(name) {
return goods.find(g => g.name === name)
}
/**
* Nastavi dle jmena polozku 'needed'
*/
function setNeeded(name) {
const stuff = getStuff(name)
if(stuff) {
stuff.needed = prompt(`How many ${name} do you need?`);
}
}
setNeeded("Pens")
setNeeded("Papers")
console.dir(goods)
Kdybys pouzil Typescript, dalo by se to cele nadefinovat tak ze by ti IDE
pomahalo a "vedelo" by jake jsou validni nazvy .. napr. "Pens" .. "Papers" a
cokoli jineho by byla chyba zadat - to je velmi sikovne
aaahaaa .. ty sis pojmenoval ty funkce asi proto aby jsi v kodu videl co to
ma delat ze?
function zistiDopyt(potreby, kancelarskePredmetyNaSklade, kancelarskePredmety){
let mnozstvoTovaru = porovnajMnožstvoTovaru(potreby);
to jsem nikdy nevidel, je to zajimava myslenka ale v podstate je to spatne - mel by sis rovnou ten argument funkce pojmenovat tak aby ti daval smysl.
Pokud jde o ten prompt je to v pohode jestli si trenujes JS nebo tak .. jestli je to kod nekam do realne aplikace tak bych pouzil formular jak rikal Peter Mlich.
Takze, po noha a mnoha prispevcich jsi dospel k temuz, ze prompt se bezne pro tento pripad prilis nehodi. Spis zjednodusuje skolni priklady.
Taky jsem chtel ten puvodni komentar smazat ale vypada to ze to tady
nejde.
Ja puvodne predpokladal ze je to nejake cviceni JS podle toho jak ten kod vypada
ale jestli to chce nekde realne pouzivat tak to je jina ..
kazdopadne ma v title napsano "príklady 14" a pokud jde o cviceni, je prompt
naprosto v pohode
Koukni treba na javascript.info - asi nejlepsi vyukovy material o JS na svete,
ten taky vsude pouziva prompt,
protoze na obyc testovani algoritmu je to rychle a prakticke.
Zobrazeno 13 zpráv z 13.