我对这个小Javascript程序的第5行有疑问。使用第5行上的括号/参数,audioNumber
位于内括号的内部/旁边,因为audioNumber
是.indexOf
的参数。而此行上的数字1
是.splice
的参数,因此它位于外括号内。这是正确理解为什么audioNumber
和1
在第5行上的原因?
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;
});
};
答案 0 :(得分:0)
是的,没错!但有一点不同,这些是参数而不是参数。
答案 1 :(得分:0)
splice方法可以使用2个参数:起始索引和要删除的元素数:
array.splice(start, deleteCount)
' audioNumber'是indexOf方法的参数:
notPlaying.indexOf(audioNumber)
... indexOf方法返回的结果是拼接方法中的第一个参数(' start'参数),而值' 1'是splice方法中的第二个参数(' deleteCount'参数)。