Zárójelek
Sziasztok JavaScriptben kellene egy olyat csinálnom hogy van egy adott matematikai képlet amiben vannak záró jelek pl.: ((1+1)*(1+1)), akkor megnézze a program hogy a zárójelek jól vannak-e.
Ügyebár ezt úgy lehetne hogy balról olvasva ha látok egy nyitójelet "(" akkor az hozzá adjon egy alap értékhez 1-et ha viszont látok egy zárójelet ")" akkor kivonjon 1-et.
Az alap érték nem mehet 0 alá mert akkor ilyen esetekben lennénk pl.: )(, ())( és egyebek ami egyértelmű hogy nem jó.
Abban kérném a segítségeteket hogy ezt hogyan lehet megvalósítani ciklussal, mert én akár hogy is próbálkozom nem megy..
■ Ügyebár ezt úgy lehetne hogy balról olvasva ha látok egy nyitójelet "(" akkor az hozzá adjon egy alap értékhez 1-et ha viszont látok egy zárójelet ")" akkor kivonjon 1-et.
Az alap érték nem mehet 0 alá mert akkor ilyen esetekben lennénk pl.: )(, ())( és egyebek ami egyértelmű hogy nem jó.
Abban kérném a segítségeteket hogy ezt hogyan lehet megvalósítani ciklussal, mert én akár hogy is próbálkozom nem megy..
értékeld ki, ha nem jók a
Nem JavaScript értelmezőt ír.
eval()
használatát lehetőleg profikon kívül senkinek se javasoljuk; ők pedig javaslat nélkül is felismerik azon ritka esetet, amikor szükségük van rá.Persze csak frappáns ötletnek
Egyébként, ebben az esetben mi a gond az eval-al? Teszem azt string típusú képletet eredményét akarom számszerűsítve?
Az a baj vele, hogy az eval()
eval()
egy JavaScript értelmezőt hív, ő pedig a saját matematikai nyelvét szeretné feldolgozni. Amellett, hogy egy teljes JavaScript értelmezőt hívni ehhez pocsékolás, nem is az ő nyelve szabályai szerint fog működni. Mi van, ha ő csak a négy alapműveletet, zárójeleket és konstansokat enged használni, és minden mást hibának szeretne értelmezni?A másik része pedig az, hogy a kérdező nyilvánvalóan nem biztoskezű programozó, és veszélyes eredménnyel járhat, ha beveszi az eszközkészletébe, és más körülmények közt is használja az
eval()
-t, ahol esetleg már biztonsági kockázatot is rejt.var i; var open = 0; for (i
Ez már nagyon nagy segítség
én valahogy így képzeltem el
<script>
darab = 0;
egyenlet = "((1+1)*(1+1))"; // vagy a bekért egyenlet
/* itt kellene az beállítani hogy csak a zárójeleket számolja a többit figyelmen kívül hagyja*/
if ( db == 0) {
document.write("Az egyenlet helyes");
}
if ( db != 0) {
document.write("Az egyenlet helytelen");
}
</script>
és akkor ez így lehet hogy rossz témakörbe is ment amiért ismét elnézést.
Az "/* itt kellene..."
Ha jól értem, mit szeretnél...
(hogy hogyan lehet JS-ből bekérni adatokat, arra én is kíváncsi lennék, bár a kíváncsiságom tárgya picit túlmutat egyetlen szövegmező bevitelén :-))
Szerintem erre a dologra
Ő...
Múltkoriban valakitől elkértem egy "házifeladatot", amit a cégük által hirdetett JS fejlesztői állásra jelentkezőknek adtak ki.
Volt benne egy olyan, hogy egy több oszlopból álló HTML táblázatba új sort beszúrni.
No az új sor felvétele meghaladta a képességeimet. Én úgy képzelnék egy ilyet, hogy tisztességes formot dobok fel, nem egyetlen stringként kérem be az egyes mezőket. No ezt szerettem volna tisztán JS-ből megoldani és nem találtam használható megoldást rá.
Mi okozott problémát?
A popup form létrehozása.
Mondjuk időre próbáltam összerakni és amikor láttam, hogy nem fog menni, akkor félre is toltam.
Valószínűleg rossz irányban indultam a leírásokban.
A DOM függvényeknek nézz
Köszi! Csak fél oldallal
Ha itt: http://www.w3schools.com/jsref/met_win_open.asp tovább lapozok, akkor meglátom az example2-t és nem töröm tovább a fejem, hogy miképp lehetne elérni az újonnan nyitott ablakot.
Megoldás
Köszi, bár ezért lehet, hogy
Nagyon szépen Köszönöm
Megjegyzés
Ezt a részt optimalizálnám:
A 2 feltételből csak az egyik lehet igaz vagy egyik sem, amiből az következik, hogy ha az első feltétel igaz akkor a másodikat nem kell vizsgálni mert az hamis (ebben az esetben), vagy ha az első hamis akkor még a második lehet igaz, de nem biztos. Ahhoz, hogy ne vizsgáld feleselgessen a dolgot, így kell írni: