2016-04-01 14 views
0

Funktion in der folgenden get Funktion: Wenn parent && parent.parentNode ist wahr und der Rückgabewert ist parent.parentNode.selectedIndex - wird die Funktion am Ende auch null zurückgeben?JavaScript - Funktion Grundlagen

get: function(elem) { 
    var parent = elem.parentNode; 
    if (parent && parent.parentNode) { 
     parent.parentNode.selectedIndex; 
    } 
    return null; 
} 
+1

Ja ... es wird ... Die ganze Zeit .... – Rayon

+2

Es wird immer Rückkehr null, du sagst ihm nichts anderes. –

+3

Du gibst nichts zurück, außer 'null'. Sie benötigen 'return parent.parentNode.selectedIndex;' innerhalb der Funktion. Und dann wird es nur dann 'null' zurückgeben, wenn Ihre Bedingung fehlschlägt. – AKS

Antwort

2

Sie müssen eine Rückgabeanweisung in der if-Anweisung verwenden. Rückgabeanweisungen in JavaScript geben die Steuerung sofort an die übergeordnete Funktion zurück. Also, wenn Funktion 1 Anrufe 2 funktionieren, sobald Funktion 2 auf eine return-Anweisung kommt, stoppt er, was er tut und übergibt die Steuerung und Daten, wenn angegeben wird, zurück zur Funktion 1.

get: function(elem) { 
    var parent = elem.parentNode; 
    if (parent && parent.parentNode) { 
     return parent.parentNode.selectedIndex; 
    } 
    return null; 
} 
1

Wenn Sie zurückkehren wollen nur ein Wert

Wenn Eltern & & parent.parentNode gilt

oder null zurück

Wenn Eltern & & parent.parentNode falsch ist

dann den folgenden Code schreiben

get: function(elem) { 
    var parent = elem.parentNode; 
    if (parent && parent.parentNode) { 
     return parent.parentNode.selectedIndex; 
    } 
    else{ 
     return null; 
    } 
}