コメントは私の最初の理解であり、結果を見て、回答を使用して逆算して理由を見つけようとしました。
==========================答えを読んだ後の分かれ目============== ============
ステップ 2 の後、これはまだ dbl であり、この時点の val は 2 です。ステップ 2 の後、window.val = 1 が直接呼び出され、呼び出しによって this のポイントが変更されて実行されます。これは window を指しますwindow の下の val 属性を直接上書きするため、window.val は 2 になり、最後のステップ 2 は 2 2 = 4 になります。
この考えが正しいかどうかわかりませんが、アドバイスをお願いします。ありがとうございます。