递归函数不增加自己的参数

Recursive function not incremeanting its own parameter

var documentURLs = ["maca.pdf", "maca2.pdf"]
function printDocuments(index){
   if(index > documentURLs.length){
        return;
   }
   else {
     printJS({
       printable: documentURLs[index],
       type: 'pdf',
       onPrintDialogClose: function () {
         console.log(index);
          printDocuments(index++)
       }
     })
   }
}
<button type="button" onclick="printDocuments(0)">Print</button>

这不会增加索引,始终打印第一个文档并且不会停止

它的行为完全正常。如果你想用下一个索引调用 printDocuments,你应该使用 printDocument(++index) 或只是 printDocument(index+1),因为它是最不容易混淆的。 i++ returns i 的当前值,然后加 1。++i 先加 1,然后 returns 增加值(所以 i+1)。