node: eigenartiger Fehler
effel
- javascript
- node.js
Hallo Freunde,
ich habe bei mir eine eigenartigen Fehler festgestellt. Ich habe 2 vollkommen gleiche function:dr_x_y_norm in meinem Testbereich gespeichert. Trotzdem KEIN Fehler Wie ist das möglich?? Ich verwende node
Effel
Hallo effel,
wenn sie in unterschiedlichen Scopes sind, geht das.
Du schreibst aber zu wenig, um das beurteilen zu können.
Rolf
Hallo Rolf,
ich habe eine große js-Datei - gschnitt.js, in der alles steht. die beiden functionen sind total gleich. Wahrscheinlich wollte ich diese function ändern und habe als Sicherheit sie verdoppelt, ohne der zweiten eine anderen Namen zu geben. es entsteht für mich auch kein Problem. Ich habe die Kopie gelöscht. Also kein Stress.Es interessiert mich eben.
Gruß Effel
Hi,
ich habe eine große js-Datei - gschnitt.js, in der alles steht. die beiden functionen sind total gleich. Wahrscheinlich wollte ich diese function ändern und habe als Sicherheit sie verdoppelt, ohne der zweiten eine anderen Namen zu geben.
ich meine, da mal gelesen zu haben (lang, lang ist's her), daß in so einem Fall (gleich benannte Funktionen) die erste durch die zweite überschrieben wird.
cu,
Andreas a/k/a MudGuard
Hallo MudGuard,
damit hast Du exakt getroffen. Danke.
function foo() {
alert("Foo1!");
}
function foo() {
alert("Foo2!");
}
foo();
gibt kommentarlos Foo2! aus.
Schlimmer noch - das function-Statement erzeugt keinen const-Wert, sondern eher einen var- oder let-Wert:
function foo() { alert("Foo1!"); }
foo = function() { alert("Uups!"); };
function foo() { alert("Foo2!"); }
foo();
gibt Uups! aus. Die beiden function-Statements werden nach oben gehoben (hoisting), d.h. die Zuweisung an foo erfolgt de facto hinter den beiden function statements.
Mehr dazu bei MDN und auch in unserem Wiki.
Rolf
Moin Rolf,
Schlimmer noch - das function-Statement erzeugt keinen const-Wert, sondern eher einen var- oder let-Wert:
function foo() { alert("Foo1!"); } foo = function() { alert("Uups!"); }; function foo() { alert("Foo2!"); } foo();
gibt Uups! aus. Die beiden function-Statements werden nach oben gehoben (hoisting), d.h. die Zuweisung an foo erfolgt de facto hinter den beiden function statements.
Die Firefox-JavaScript-Konsole sagt, dass eine var
erzeugt wird:
function foo1() { alert("foo1");}
const foo1 = function() { alert("const");};
// Uncaught SyntaxError: redeclaration of var foo1
Die Funktionsreferenz als const
zu deklarieren, schlägt auch in der umgekehrten Reihenfolge korrekt fehlt:
const foo = function() { alert('Const');};
function foo() { alert("foo1");}
// Uncaught SyntaxError: redeclaration of const foo
Viele Grüße
Robert
Hallo,
ich habe bei mir eine eigenartigen Fehler festgestellt.
Trotzdem KEIN Fehler
Ja, was denn nun?
Gruß
Kalk
PS: Was haben die Schlagwörter "inclusive Design", "Internationalisierung" und "internet anbindung" mit deiner Frage zu tun?
Hallo Tabellenkalk,
PS: Was haben die Schlagwörter "inclusive Design", "Internationalisierung" und "internet anbindung" mit deiner Frage zu tun?
Das musst Du @Christian Kruse fragen. Das Wort "in" im Text triggert diese Vorschläge scheinbar und Effel hat sie einfach angeklickt. Ich habe den Thread neu schlagverwortet.
Meine Diagnose: Der Schlagwortvorschlager hat keine KI, sondern eine Wörterliste. Und er sucht die Wörter im Beitrag als Wortanfänge in der Wörterliste und verpasst dann Punkte für beste Passform. Möglicherweise haben auch bestimmte Vorschlagsworte Bonuspunkte. Dann absteigend nach Punkten sortieren, die ersten 3 nehmen und fettich.
"E" -> E-Mail, Essays, Editor
"Ei" -> Einladung
"Ein" -> dito
"Ein M" -> Meinung, Menschelei, Multimedia
"Ein Mo" -> Mobile, Moderation, Model - kreativ!
"Ein Mop" -> Einladung - mit Möpsen hat's die Liste nicht so.
"Ein Mops" -> dito
"Ein Mops k" -> Kontextwechsel, Klugscheißerei, Korrektur - Oh, Neuland!
"Ein Mops ka" -> Kamera, Einladung - er verblödet wieder
"Ein Mops kam" -> dito
"Ein Mops kam i" -> Internet-Anbindung, Internet, Internationalisierung - aha!
"Ein Mops kam in" -> dito
"Ein Mops kam in d" -> Datenbank, Design/Layout, DHTML - uiui, ganz neue Seite
"Ein Mops kam in di" -> Internet-Anbindung, Internet, Internationalisierung - öhm!
"Ein Mops kam in die" -> dito
...
"Ein Mops kam in die Küche" -> dito
Fazit: Der Schlagwortvorschläger braucht eine Mindestlänge von 2 oder 3 Zeichen, bevor er ein Eingabewort heranzieht, und Stopworte. "in", "ins", "ein", "er", "es", "mit" oder "per" finden Unsinn. "und", "aber", "oder" erstmal nicht, dafür findet er eh nichts.
Rolf
Servus!
Hallo Tabellenkalk,
PS: Was haben die Schlagwörter "inclusive Design", "Internationalisierung" und "internet anbindung" mit deiner Frage zu tun?
Das musst Du @Christian Kruse fragen. Das Wort "in" im Text triggert diese Vorschläge scheinbar und Effel hat sie einfach angeklickt.
Ich glaube, das @Tabellenkalk nicht die technische Seite gemeint hat.
@effel ist jetzt seit fast 2 Jahren dabei und jeder Threadersteller sollte doch ein Interesse haben, sein Problem so verständlich wie möglich zu beschreiben und auch mit tags zu versehen. Manche haben diese Tags abonniert[1] und finden eine Frage dann eher, bzw. kriegen eine Mail.
Ich habe den Thread neu schlagverwortet.
Vielen Dank!
Herzliche Grüße
Matthias Scharwies
z.B. TM bei SVG und XML ↩︎