私はJavaScriptを初めて使用しています。最近、コンソールに何が印刷されるのかという疑問を見つけました。正解は、参照渡しのために4 4 4 4
です。しかし、私はこれがどのように結果であるのか分かりません。出力が単にi
の値で、その値がfor-loop
の反復のみに依存していると思われる場合、参照渡しが出力を指示するのはなぜですか?JavaScriptはこの動作をどのように説明していますか?
const array = [10, 21, 31, 41];
for(i = 0; i < array.length; i++) {
setTimeout(function print(array){
console.log(i)}, 3000);
}
参照渡しは関数の引数と関係があり、コード内にある唯一のものは使用されません。出力は参照渡しとは関係ありませんが、非同期コードとは関係ありません。 – trincot