Javascript - 关于嵌套括号/参数

时间:2017-10-04 07:43:10

标签: javascript

我对这个小Javascript程序的第5行有疑问。使用第5行上的括号/参数,audioNumber位于内括号的内部/旁边,因为audioNumber.indexOf的参数。而此行上的数字1.splice的参数,因此它位于外括号内。这是正确理解为什么audioNumber1第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;
  });
};

2 个答案:

答案 0 :(得分:0)

是的,没错!但有一点不同,这些是参数而不是参数。

答案 1 :(得分:0)

splice方法可以使用2个参数:起始索引和要删除的元素数:

array.splice(start, deleteCount)

' audioNumber'是indexOf方法的参数:

notPlaying.indexOf(audioNumber)  

... indexOf方法返回的结果是拼接方法中的第一个参数(' start'参数),而值' 1'是splice方法中的第二个参数(' deleteCount'参数)。