Wie kann eine Zahl in einem Wörterbuch in einem Array direkt nach dem Einfügen von 1 NaN sein?

9

Ich habe einen Code, der folgendes enthält:

%Vor%

In Chrome 26:

In Firefox 21:

Warum tritt dieser Fehler auf?

Ich denke, der Fehler muss in der folgenden Funktion sein.

%Vor%

Die vollständige Quelle befindet sich auf GitHub .

edit: Nur das vollständige Beispiel ist noch online.

Jegliche Empfehlungen zur Verwendung von JavaScript sind ebenfalls willkommen (ich bin neu in JavaScript).

Ich habe gerade erkannt, dass die Verwendung von Gleitkommazahlen im obigen Beispiel zu weniger Fehlern führt ... aber der Fehler tritt immer noch auf. Da ich niemals durch "x" oder "y" dividiere, sondern nur durch "n" (und ich überprüfe, ob n vor dem Dividieren 0 ist), sehe ich nicht, wie ich NaN bekommen kann.

    
Martin Thoma 21.05.2013, 07:16
quelle

1 Antwort

4

Wie bereits erwähnt, kann die Konsolenprotokollierung schwierig sein. Chrome zeigt insbesondere einzelne Objekte in einem Live-Format an.

Wenn Sie sich mehrere Male anmelden, um die Entwicklung eines Objekts zu sehen, verwenden Sie Folgendes:

%Vor%

Damit stellen Sie sicher, dass Sie den Wert zum Zeitpunkt der Ausführung der Datei console.log sehen. Dies beruht auf JSON.stringify und wird für komplexe, rekursive Objekte fehlschlagen, so dass dies beispielsweise für DOM-Objekte nicht hilft.

Debuggen von JavaScript

Wenn Sie JavaScript debuggen möchten, können Sie entweder Firefox mit Firebug oder Chrome und seinen integrierten Entwicklertools verwenden. Sie öffnen sie mit Strg + Shift + I . Sie sehen so aus:

Mit den Entwicklertools können Sie Breakpoints setzen, was das Debugging erheblich vereinfacht.

    
HBP 21.05.2013, 10:11
quelle

Tags und Links