がここにスクリプトです:"引数"をシフトする方法は?
function runScripts() {
if (arguments.length === 0) return;
chrome.tabs.executeScript(null, {
file: arguments[0]
}, function() {
arguments.shift();
runScripts.apply(null, arguments);
});
}
arguments
は実際には配列ではありませんので、それが動作しない、それだけで、アレイのようです。だから私はそれを "シフト"するか、最初の要素をハックして再帰的にこの関数を適用することができますか?
Eh ...?なぜあなたはそれを仮定しますか?各反復は最初の要素のみを処理し、残っている要素がなくなるまで残りの要素を呼び出します。あなたのバージョンが何をすべきかわからない。 – mpen
ああ、何もしない。匿名の機能のために、あなたは正しいですが、最初の要素を渡すことはまだ想定されていません。最初の要素以外はすべて渡すことになっています。 – mpen
@マーク:あなたは2つの機能を持っています。たぶん私は間違っていますが、あなたの質問は 'runScripts()' *の 'arguments'を' executeScript'に渡すコールバックに渡したいと解釈しました。コールバックの外側で 'arguments [0]' *を参照してから、コールバックの内部で '.shift()' *しようとしているので、これは奇妙な仮定ではありません。 – user113716