Hallo
Hallo,
bitte vergleiche:
typeOf is not defined,
SELFHTML, typeof.Lies genau!
wahsaga hat nen Moment frueher auf absenden geklickt, also habe ichs bei ihm schon bemerkt, danke
Rueckgabewert sollte doch sicher function sein, oder?
Nö. Der Rückgabewert von alert() ist übrigens stets undefined :-) Das ist allerdings eine andere Geschichte.
Stimmt, da war was. Was?
[...]
Hochdeutsch war meine erste Fremdsprache. Ich lerne immer noch :-)
Wo bist du aufgewachsen? Sprichst du Dialekt? Wo wohnst du?....Finde es heraus. Es steht im Archiv.
Morgen
Ach ja, in Datei begriffe.js, Zeile 11, Spalte 3404 verwendest Du
testvar18
statt
trennervar18
Dies ist der Grund für das Anhalten.
Glaubst du? Weisst du?[1] Hast du's ausprobiert?Was soll ich dazu noch sagen? Warum hast Du es nicht getestet? Ist es mein Code oder ist es Dein Code?
Ich habe es zuvor getestet mit ganz anderem Inhalt
Was würdest Du sagen, wenn Du eine Variable mit etwas undefiniertem initialisieren willst? Mit folgendem Code kannst Du das von Dir beschriebene Verhalten reproduzieren:
alert("Hallo"); // wird ausgeführt
var foo = "bar" + baz; // Erstes Auftreten von baz im Script
alert(foo); // wird nicht ausgeführt
>
> Bei diesem knappen Code schafft die JS-Konsole sogar die Fehlermeldung "baz is not defined", was sie bei Deiner riesig langen Anweisung nicht schafft.
Bei mir wars aber so:
~~~javascript
alert("Hallo"); // wird ausgefuehrt
var foo = "bar"; // wird nicht ausgefuehrt
alert(foo); // wird nicht ausgefuehrt
var baz = fooo + "baz"; // erstes Auftreten von fooo, wird nicht ausgefuehrt
Warum fügst Du nicht jeden zusätzlichen Begriff in einer eigenen Zeile ein, etwa in der Form
+ trenner + "Begriff"
Das ist zwar keine Antwort auf deine Frage, aber: Anfangs war alles eine Zeile. Bis UltraEdit mit der Syntax Probleme hatte bei Zeilen"umbruechen" (nicht vorhanden, aber dargestellt) im String.
Da ich die Falsche Syntax erkannte schloss ich darauf als Fehlerursache, dass ich irgendwo ein ' " ' zu viel oder zu wenig hatte.
Als ich dann testweise (da ist wieder der Test^^ bzw. das temporaere)
Zeilenumbrueche (CR/LF) einfuegte erkannte UltraEdit die Syntax und setzte die hervorhebung richtig.
Im Hex-Modus sah ich allerdings, dass bei dem automatischen Zeilenumbruch, der keiner ist, nichts zu sehen war. Der Text ging ganz normal weiter. Daran konnte es also nicht liegen...
Dein Code wäre wesentlich leichter lesbar, leichter wartbar und solche Fehler würden Dir sofort auffallen.
Moeglich... ich habe immer Angst vor Zeilenumbruechen in Strings und allgemein mitten in JavaScript-Anweisungen, obwohl ja jedes white-space mehr oder weniger gleich behandelt werden sollte, oder?
Warum verwendest Du solche langen Zeilen? Welchen Vorteil versprichst Du Dir davon? Kann es sogar sein, dass Deine Zuweisung eine einzige Zeile ist,
war, jetzt sind es ca.6 (?)
die mein Editor in 4KB-Häppchen aufteilt?
welcher?
Naja, da bin ich relativ unbelehrbar und mit meinen 15 Jahren [...]
Das eine kannst Du ändern, das andere ändert sich mit der Zeit von selbst.Doch dafuer achte ich jetzt eigendlich um so mehr darauf, moeglichst klug zu entscheiden, ob ich global oder lokal setze.
Das ist ganz einfach: So wenig globale Variablen wie möglich, so viele wie nötig. Den Idealfall stellt keine globale Variable dar.
Latuernich. wenn ich den Inhalt ausserhalb des Blockes brauche, dann brauche ich ihn, und wenn nicht, dann nicht.
So ist es z.B. zur Fehleranalyse gut, wenn fehlertraechtige Zaehler auch (temporaer) global sind. (Fuer onError-Fehlerbehandlung)
Zählvariablen sind die allerschlechtesten Kandidaten für globale Variablen.
Deshalb steht dort oben
fehlertraechtige
zur Fehleranalyse
(temporaer)
(Fuer onError-Fehlerbehandlung)
Freundliche Grüße
Danke, ebenfalls,
sCHerZKekS
Vinzenz