递归函数不增加自己的参数
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
)。
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
)。