* 免責事項: これが良い考えだと言っているわけではありません - 実際問題として、そうではないとはっきり言います - したがって、この質問は、コーディング スタイルにとってイベント ループが正確に何を意味するのかを理解しようとするものです。
javascript-has-no-threads マントラに関する私の初歩的な理解は、ランタイムがすべての javascript を短い「コードのブロック」として扱い、実行中にブロックから移動することなく次々に実行されるようにスケジュールされているということです。この場合のコード ブロック (実際の用語はわかりません) は、基本的に、イベント ハンドラーがトリガーされた結果として実行されるコードです。
私の理解が正しければ、グローバル変数の使用が複数の「コードブロック」にまたがらない場合、グローバル変数を使用することは技術的に100%安全であることを意味します。
したがって、たとえば、単一のグローバル オブジェクトがある場合window.workspace
、イベント ハンドラーとそこから流れるすべてのコードを、一時変数をクロージャーに格納するのではなく、すべて に格納できますwindow.workspace
。ワークスペースがイベント ハンドラー (同じものであっても) の呼び出しの間に状態を保持すると想定しない限り、これは完全に安全なはずです。
これは正確ですか(ただし、繰り返しになりますが、お勧めしません)