2017-10-04 5 views
0

Ich habe eine Frage über Zeile 5 dieses kleine Javascript-Programm. Mit den Klammern/Parametern auf Zeile 5, audioNumber ist innerhalb/neben den inneren Klammern, weil audioNumber ein Parameter .indexOf ist. Während die Nummer 1 in dieser Zeile ein Parameter von .splice ist, befindet es sich also innerhalb der äußeren Klammern. Ist das ein richtiges Verständnis dafür, warum audioNumber und 1 wo sind sie auf Zeile 5?Javascript - über verschachtelte Klammern/Parameter

function playAudio(audioNumber) { 
    var audio = document.getElementById('sound' + audioNumber); 
    audio.play(); 
    var nonPlaying = [1, 2, 3, 4, 5, 6, 7]; 
    nonPlaying.splice(notPlaying.indexOf(audioNumber), 1); // line 5 
    nonPlaying.forEach(function(id) { 
    document.getElementById('sound' + id).pause(); 
    document.getElementById('sound' + id).currentTime = 0; 
    }); 
}; 
+1

Ja, das ist ein richtiges Verständnis –

+0

Streng genommen sind dies Argumente, keine Parameter: https://StackOverflow.com/Questions/156767/whats-the-difference-between-an-argument-and-a-parameter – JLRishe

+0

Vielen Dank für Ihre Anregungen. – Emma45

Antwort

0

Das Spleiß Verfahren kann mit 2-Parametern verwendet werden:

array.splice(start, deleteCount) 

Die ‚audioNumber‘ ist der Parameter der indexOf Methode::

notPlaying.indexOf(audioNumber) 
der Startindex und die Anzahl der Elemente löschen

... Das von der Methode indexOf zurückgegebene Ergebnis ist der erste Parameter (der Parameter 'start') in der Spleißmethode, während der Wert '1' der zweite Parameter in der Spleißmethode ist (der Parameter 'deleteCount').

+0

Danke Heidi, das ist eine gute, gründliche Erklärung. – Emma45

0

Ja, es ist richtig! aber ein kleiner Unterschied, das sind Argumente nicht Parameter.

Verwandte Themen