私は基本的なJS
トリック質問を投稿しようとしていた、そしてそれは明らかにあまりにも私をだましています:)なぜこのコードは連続した数字を出力しますか?
実行して、このコンソールで:
x = (w) => w.length;
setTimeout(console.log(x), 0);
ザ・、あなたがsetTimeout(console.log(x), 0);
を実行するたびに、あなたが増加数を取得します。何故ですか? window
オブジェクトへの参照先は、w
ではありませんか?
これはwを増やすように見えます。簡略化 'let x = w + w' – zer00ne
@ zer00neしかし、' w'は変数ではなく、単に他の変数を参照するパラメータです。おそらく 'window'オブジェクトでしょう。なぜ関数を呼び出すのが何かを増やすのだろうか? – Cristy
@selfどんなコンテキストですか?これはすべてのコードで、ブラウザのコンソールで新しいタブで実行します。 – Cristy