Hallo mathefritz,
- Mal das ! hinter ck wegnehmen, (ck! != "j") ist definitiv syntaktisch falsch. Aber das ist's ja nicht, wie Du mudguards schriebst.
- Mal mehr Code zeigen bzw. selbst analysieren - vor allem die Zeilen davor. Der Klammerfehler kann ein Folgefehler aus einer vorherigen Zeile sein. VIELLEICHT sogar
- Code reduzieren auf ein Minibeispiel, das den Fehler zeigt. Dies hier reicht zum Beispiel nicht: https://jsfiddle.net/Rolf_b/29xgmjn5/ - da mault er über's ! und wenn ich das wegnehme, läuft es.
Lassen wir den Fehler mal außen vor. Dein Code sieht merkwürdig aus. Es gibt diese Fälle:
(1) ck ist weder "m" noch "j": Der erste Teil des IF ist true und er läuft in die Statements zum if. (2) ck ist "m" oder "j", und _2nd3rd[ck] ist falsy (also false, undefined, null, 0, NaN ider ""): Jetzt ist der zweite Teil des IF true und er läuft ebenfalls in die Statements zum if.
Er läuft also nur dann in den else-Teil (oder tut nichts), wenn ck "m" oder "j" enthält UND _2nd3rd[ck] einen true-Wert enthält. Kann man das nicht lesbarer programmieren, nicht mir so vielen Verneinungen?
Rolf
--
sumpsi - posui - obstruxi
sumpsi - posui - obstruxi