2012-04-08 7 views
1

Ich finde mich viel Code wie folgt zu schreiben, und ich bekomme immer noch eine Menge von Ball of Death Crashs. Es macht den ganzen Prozess des Code-Schreibens sehr viel schmerzhafter, als dass es sich anfühlt. Gibt es bessere Ansätze da draußen?Entwicklung von Javascript für Safari - verhindern Ball des Todes

function drawArrowsInDocument (document, boxes, context) { 
    console.log ("drawArrowsInDocument"); 
    var body = document.body; 
    if (!body) { 
     console.log ("no body!"); 
     return; 
    } 
    var rectangles = rectanglesWithBoxes(boxes); 
    if (!rectangles) { 
     console.log ("no rectangles!"); 
     return; 
    } 
    var descendants = body.childNodes; 
    if (!descendants) { 
     console.log ("no descendants"); 
     return; 
    } 
    var length = descendants.length; 
    if (length>10000) { 
     console.log ("too many descendants"); 
     return; 
    } 
    // now I know my variables actually exist, and I can do something with them. 

Hier ist was ich sehe, wenn es abstürzt. Das einzige, was ich an diesem Punkt tun kann, ist, Safari neu zu starten und weitere if-Anweisungen einzufügen, um das Problem zu finden.

crash

+1

Ich finde Chrome weniger instabil und fast genau das gleiche Motor. Sie können 'throw' auch verwenden, um ein Skript jederzeit zu stoppen. Ball of Death ist am häufigsten in Endlosschleifen, also überdenken Sie While-Loops. – David

Antwort

Verwandte Themen