Ich versuche zu überprüfen, ob ein bestimmtes Javascript-Objekt existiert.Der Typof-Operator funktioniert nicht wie erwartet
var success = function(data) {
var x= 0;
var numOfCards = data.length;
for (x=0;x<data.length - 1;x++)
{
if (typeof data[x].labels[0].name !== 'undefined')
{
alert("Object Exists");
}
}
}
jedoch Chrome erhalten folgende Fehlermeldung:
(index):21 Uncaught TypeError: Cannot read property 'name' of undefined
Sicher, meine Verwendung von typeof den Status des Objekts überprüfen sollte, für sich genommen nicht, zu einem Fehler führen? Bei der ersten Iteration, die Warnfenster wird angezeigt, wie erwartet, weil:
data[0].labels[0].name = "I am a value"
jedoch
data[0].labels[1].name
den Fehler verursacht, als die "Etiketten" Array leer ist.
'typeof' gibt einfach den" Typ "eines Wertes zurück. Sie können sicherlich einen Fehler erhalten, wenn Sie den Ausdruck bewerten, der den Wert generiert. Beispiel: 'typeof foo()'. Wenn 'foo' keine Funktion ist, wird ein Fehler ausgegeben. –