Hat jemand eine Erklärung, wie Javascript dies tun könnte. Irgendwie ist diese Funktion zur selben Zeit wahr und falsch. Dies ist nur ein Durchlauf, keine Schleifen oder so.Javascript: Dies ergibt gleichzeitig wahr und falsch! Was ist los?
console.log(key);
if (this.watches.get(key)) {
console.log("found it");
} else {
console.log("whhhat?");
}
console.log(this.watches);
Firebug Konsole Protokolle wie es ist.
search-key
found it
Object search-key=Object $family=Object
whhhat?
Object search-key=Object $family=Object
[EDIT] Hier ist sie. Das vollständige Skript und der obige Block der Ausgabe ist Kopieren und Einfügen von Firebug. Das ist das Seltsamste, was ich je gesehen habe. http://snipt.org/Hkl
Ich benutze Mootools Framework so das this.watches = $ H ({}); ist eine Hashtabelle. Ich benutzte ein Array und hatte genau das gleiche Problem, dann wechselte ich zu $ H ({}), weil ich dachte, ich würde etwas falsch machen.
wirklich?/Können Sie das überprüfen? ... ist das der genaue Code? – eglasius
Ihre Ausgabe macht keinen Sinn, wenn Sie nur EINEN Durchgang machen; Wenn es nur in einem Durchgang durchlaufen wird, sollte die Konsole nicht die Ausgabe des Objekts "object search-key = [...]" zweimal ausgeben. –
Daniel, ich weiß, deshalb ist dieser Code hier. –