Ich habe den folgenden Code:Browser abstürzt hält, wenn ich meinen Code ausführen
var images = ["image1.jpg", "image2.jpg", "image3.jpg", "image4.jpg", "image5.jpg", "image6.jpg", "image7.jpg", "image8.jpg"];
var objects = [];
var geometry;
while(objects.length < images.length) {
var imagesIndex = 0;
var object = [
texture1 = textureLoader.load("data/"+ images[imagesIndex]),
material1 = new THREE.MeshBasicMaterial({ map: texture1 }),
objectMesh = new THREE.Mesh(geometry, material1),
location3d = new THREE.Vector3(Math.random()* 500-250, Math.random()* 500-250, Math.random()* 500+120)
];
var overlapping = false;
for (var j = 0; j < objects.length; j++) {
var projectCubeLoc = objects[j][0][3];
die var otherCubesLoc = projectCubeLoc [j]; generiert die Fehler
var otherCubesLoc = projectCubeLoc[j];
var distance = projectCubeLoc.distanceTo(otherCubesLoc);
console.log(distance);
if (distance < 150) {
overlapping = true;
break;
};
};
die Anweisung außerhalb der for-Schleife gelegt, da überlappende falsch ist zumindest ein Objekt in dem Array
if (!overlapping) {
objects.push(object);
imagesIndex++;
};
};
gesetzt werden wird, aber ich Typeerror bekommen: Lesen Eigenschaft kann nicht '
Wenn ich diesen Code im Browser ausführen, stürzt der Browser einfach ab ... Ich bekomme keine Fehlermeldungen, der Browser wird einfach abstürzen und es selbst beenden ... ich denke, es hat etwas zu tun mach mit der While-Schleife, aber ich kann nicht sehen heraus, was falsch ist ...
jede Hilfe oder Tipps werden sehr geschätzt!
wenn es mehr Code erforderlich oder wenn Sie einen jsfiddle sehen möchten einfach fragen :)
Wenn Sie die Schleife starten, ist das 'Objekte' Array leer. So läuft deine 'for'-Schleife nie. Der Code innerhalb der 'for'-Schleife ist das einzige, was dem' objects'-Array etwas hinzufügt. Du hast eine Endlosschleife. –
Kein Javascript sollte jemals einen Browser zum Absturz bringen und plötzlich beenden. Es könnte einen Fehler in Ihrem Code geben, aber es gibt auch einen Fehler in Ihrem Browser, und das Verhalten variiert von Browser zu Browser (Sie sollten also sagen, welchen Browser Sie verwenden). Sie können auch versuchen, Warnungen an verschiedenen Stellen in Ihrem Code einzufügen, um herauszufinden, wie weit es kommt, bevor der Browser abstürzt. Dann können Sie versuchen, die problematische Linie zu umgehen (und vielleicht einen Fehlerbericht mit den Browser-Autoren einzureichen). –