如下所示的一個遞歸函數(shù),為什么args.concat(i)沒有根據(jù)循環(huán)增加?args是一個引用類型,在我的想法中,這個args會在循環(huán)時把0-9都放進去。var loop = (fn, n, args = []) => { if (n === 0) { return fn.apply(fn, args); } for (var i = 0; i <= 9; i++) { loop(fn, n - 1, args.concat(i)); // 這里的args.concat(i),在遞歸的每個棧都是“新”的 }}loop((...a) => console.log(a), 2);//結果: [0,0] [0,1] ...
js中遞歸調(diào)用時參數(shù)是否會改變
溫溫醬
2018-11-14 13:14:58