abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:44 | IT novinky

    Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Nová verze

    Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | Nová verze

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 11:55 | Nová verze

    Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 00:44 | Nová verze

    Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).

    |🇵🇸 | Komentářů: 8
    17.8. 18:55 | Nová verze

    Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    17.8. 13:33 | Zajímavý článek

    Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.

    Ladislav Hagara | Komentářů: 10
    17.8. 12:33 | Zajímavý projekt

    Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.

    |🇵🇸 | Komentářů: 6
    17.8. 03:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.

    Ladislav Hagara | Komentářů: 1
    16.8. 18:55 | Komunita

    Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2418 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník


    Dotaz: javascript: vyhodnocení tří proměnných najednou

    15.7.2016 20:13 mica
    javascript: vyhodnocení tří proměnných najednou
    Přečteno: 531×
    Zdravím, při své skromné znalosti javascriptu jsem narazil na problém, na kterém jsem ztroskotal. Mám tři proměnné a potřebuju s nimi toto: jestliže proměnná1 nabývá některou z vyjmenovaných hodnot a zároveň proměnná2 nabývá některou z vyjmenovaných hodnot a zároveň proměnná3 nabývá některou z vyjmenovaných hodnot, vypiš tvrzení1, jinak vypiš tvrzení2. Představoval jsem si, že to (schematicky) napíšu takto:
    if ((promenna1==hodnota1) || (promenna1==hodnota2)) && ((promenna2==hodnota1) || (promenna2==hodnota2)) && ((promenna3==hodnota1) || (promenna3==hodnota2)) {...}
    jenže to nefunguje. Pokud jsou v podmínce jen hodnoty první proměnné, vypíše se skutečně tvrzení1 nebo tvrzení2 podle toho, jakou hodnotu proměnná1 právě má, ale když připojím druhou proměnnou, nevypíše se už vůbec nic. Buď tam mám "pravopisnou" chybu nebo se to takto udělat nedá. Prosím o radu. Děkuji.

    Odpovědi

    15.7.2016 20:52 ttt
    Rozbalit Rozbalit vše Re: javascript: vyhodnocení tří proměnných najednou
    Chybí tam závorky okolo celého výrazu, if musí být ve tvaru if (...) { }. A problém je s prioritou operátorů a || b && c || d se vyhodnotí stejně jako a || (b && c) || d. Je tedy potřeba to uzávorkovat (a || b) && (c || d). Nebo přepsat, aby tam taková sáhodlouhá podmínka vůbec nebyla.
    15.7.2016 20:56 ttt
    Rozbalit Rozbalit vše Re: javascript: vyhodnocení tří proměnných najednou
    Beru zpět, až na ty závorky okolo celého výrazu to vypadá uzávorkované správně.
    15.7.2016 21:34 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: javascript: vyhodnocení tří proměnných najednou
    Nejsou správně. Za "if" mají být 3 levé závorky a na konci 3 pravé.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    15.7.2016 21:32 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: javascript: vyhodnocení tří proměnných najednou
    Je nutné tu podmínku rozdělit do více samostatných podmínek, aby se to v budoucnu dalo přečíst a pochopit. Jinak vznikne neudržovatelné monstrum.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    15.7.2016 21:43 NN
    Rozbalit Rozbalit vše Re: javascript: vyhodnocení tří proměnných najednou
    Kdyz mas vice opakujicich se podminek, muzes z podminmky udelas funkci, nebo je nahradit negaci.
    15.7.2016 22:16 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: javascript: vyhodnocení tří proměnných najednou
    Také se to dá udělat objektově - objekt promenna1 bude obsahovat metodu, která bude vyhodnocovat, zda se její hodnota rovná jedné z těch dvou hodnot. Podmínka by se tím zjednodušila:
    if (promenna1.isIn(hodnota1, hodnota2) && promenna2.isIn(hodnota1, hodnota2) && promenna3.isIn(hodnota1, hodnota2)) {
        ...
    }
    
    Zcela jistě se to dá ještě zjednodušit, ale neznám kontext, ze kterého to bylo vytrženo. Například konstanty hodnota1 a hodnota2 by mohly být již součástí objektu. Podmínka by vypadala ještě lépe:
    if (promenna1.isValid() && promenna2.isValid() && promenna3.isValid()) {
        ...
    }
    
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.