2016-07-21 2 views
1

Ich versuche, einen Code zu erstellen, um vertikale Linien zu zeichnen.Uncaught TypeError in Chrome Kann Eigenschaft 'x' von undefined nicht lesen

http://codepen.io/juyoung518/pen/BzAJwg

Chrome Fehlermeldung erscheint in diesem Absatz nach oben. Uncaught Typeerror: kann nicht lesen Eigenschaft ‚x‘ undefinierter

function getNearestIntersections(line, arr) { 
    var index = arr.length - 2; 
    if (arr[index].x !== line.center.x) { 
     while (Math.sign(line.center.x - line.a.x) === Math.sign(line.center.x - arr[index].x)) { 
      index--; 
     } 
    } else { 
     while (Math.sign(line.center.y - line.a.y) === Math.sign(line.center.y - arr[index].y)) { 
      index--; 
     } 
    } 

    return [arr[arr.length - 1], arr[index]]; 
} 

Bitte kann mir jemand sagen, was das Problem ist?

Dieser Codepen funktioniert überhaupt nicht in IE.

+0

so ist der Index <0? – epascarello

Antwort

1

Haben Sie "Linie" richtig definiert? Ein Blick auf Ihre Referenz ich sehe:

var Line = function(x1, y1, x2, y2) { 
    this.a = new Vec(x1, y1); 
    this.b = new Vec(x2, y2); 
    this.center = new Vec((x1 + x2)/2, (y1 + y2)/2); 
    this.dx = x2 - x1; 
    this.dy = y2 - y1; 
}; 

Sie dies tun haben (oder so ähnlich) irgendwo im Code, nicht wahr?

+0

ja ich habe genau das in meinem Code – juyoung518

+0

Vielen Dank – juyoung518

+0

Ich habe gerade bemerkt - der gleiche Fehler erscheint auf der Website verwiesen. –

Verwandte Themen