JavaScript の実行を停止することは可能ですか? [重複] 質問する

JavaScript の実行を停止することは可能ですか? [重複] 質問する

何らかの方法で停止または終了することは可能ですか?JavaScriptブラウザをリロードせずに、JavaScript ベースの実行がこれ以上行われないようにする方法はありますか?

exit()PHP のJavaScript に相当するものを考えています。

ベストアンサー1

短い答え:

throw new Error("Something went badly wrong!");

さらに詳しく知りたい場合は、読み続けてください。


開発/デバッグのために JavaScript の実行を停止しますか?

コード内の式debugger;によりページの実行が停止され、ブラウザの開発者ツールを使用すると、ページが停止した瞬間の状態を確認できます。

アプリケーションを任意に、意図的に停止しますか?

エラーですか?

すべてを停止しようとするのではなく、コードでエラーを処理できるExceptionようにします。 については、Google で検索してください。 は、面倒な if/else ブロックを使用せずに、コードをエラー処理手順に「ジャンプ」させる賢い方法です。

これらについて読んだ後、コード全体を中断することが絶対に唯一の選択肢であると思われる場合は、アプリケーションの「ルート」スコープ以外の場所では「キャッチ」されない例外をスローすることが解決策です。

// creates a new exception type:
function FatalError(){ Error.apply(this, arguments); this.name = "FatalError"; }
FatalError.prototype = Object.create(Error.prototype);

// and then, use this to trigger the error:
throw new FatalError("Something went badly wrong!");

例外catch()をキャッチするブロックがないことを確認してください。この場合は、例外を"FatalError"再スローするようにブロックを変更します。

catch(exc){ if(exc instanceof FatalError) throw exc; else /* current code here */ }

タスクが完了したとき、または任意のイベントが発生したときですか?

return;現在の関数の実行フローを終了します。

if(someEventHappened) return; // Will prevent subsequent code from being executed
alert("This alert will never be shown.");

注:return;関数内でのみ機能します。

両方の場合において...

...非同期コードを停止する方法も知りたいかもしれません。それは次のように行います。clearTimeoutそしてclearInterval最後に、停止するにはHR のアヤックスxhrObj.abort()) リクエストの場合は、 (で利用可能なメソッド)を使用できます。jQuery同じように)。

おすすめ記事