ブラウザがウェブページ上でJavaScriptを実行中で無効なJavaScriptが発生した場合 (例:somerandomthingy;)JavaScriptの実行がその時点で停止するか、非同期操作が続行されますか。また、JavaScriptイベントも有効です(onclickなど)。無効な行に遭遇したらjavascriptの実行を停止しますか?
答えて
はい、非同期のものを除きます。 http://jsfiddle.net/pimvdb/R4dfJ/3/
DIY:
var a = 1, b, c;
setTimeout(function() {
b = 2;
console.log('Running', a, b, c);
}, 1000);
somerandomthingy;
c = 3;
Uncaught ReferenceError: somerandomthingy is not defined
Running 1 2 undefined
ので:
a
とb
が設定されているc
が- タイムアウトを設定されていない、まだ を発生
「onclickはまだ機能していますか?」というように、ハンドラが実行されているコード(つまり、エラーの前に)それはします。エラーコードの後に置かれた場合は、ハンドラーをバインドしないので、イベントは機能しません。
実行が停止すると思います。コードの行が途切れた後で警告を設定すると、警告には到達せず、実行が停止すると信じられます。しかし、asynch XmlHtttpRequestsにも同じことが当てはまるかどうかはわかりません。
これはやっていることに多少依存します。通常は実行が中止され、コンソールでスマートブラウザを使用している場合は、エラーメッセージが記録されます(また、これらのエラーメッセージが役立つ場合もありますが、常にそうとは限りません)。
UNCAUGHT EXCEPTION: SYNTAX ERROR, UNRECOGNIZED EXPRESSION: #
時には、しかし、ものはただ静かにあなたがjQueryのまたは別のライブラリを使用している場合は特に、エラーや警告なしで失敗します。 WebKitとFirefoxで何か問題なくうまくいったが、IEで黙って失敗して、何か無効なHTMLをDOMに挿入しようとしていたjQueryの.append()メソッドのPEBCAKバグに遭遇した。他のすべてが正常に機能し、エラーも警告も、何もなかったので、IEでは1つの機能だけが「行きません」ということは腹が立っていました。
エラーを超えてコードは実行されません。
function inAFunction(){
alert("one");
x = y;
alert("two");
}
inAFunction();
あなたはあなたが何も表示されません "1" ではなく "2"
var a = {
b : c
}
alert("here");
が表示されます "1" ではなく "2"
alert("one");
x = y;
alert("two");
が表示されます。
- 1. 「.setError」に遭遇した場合にアクションを停止する
- 2. 不正なデータに遭遇したときにスパーク実行をプログラムで停止する方法
- 3. 遭遇したSQLエラー:ORA-01843:無効な月
- 4. 実行中のジョブを無効にすると、ジョブが停止しますか?
- 5. シンプルなPythonプログラムが無限ループに遭遇しました
- 6. 自分のプロンプトウィンドウがJavaScriptの実行を停止しますか?
- 7. Javascript setTimeoutは他のスクリプトの実行を停止しますか
- 8. Javascript、0.5秒間機能を実行してから停止(ループ)
- 9. 糸が^(キャレット)に遭遇したらどうしますか?
- 10. Tomcatが無限ループに遭遇しました
- 11. パースベースエラー(SAS)に遭遇しました
- 12. Woocommerceでアラートに遭遇しました
- 13. load()に基づくjavascriptの実行を停止します
- 14. タイマーが停止または無効になった後で停止しない
- 15. JavaScriptでの実行を停止する
- 16. "ionic serve"を実行します。誰が、このような問題に遭遇した
- 17. RuntimeWarning:expで遭遇したオーバーフロー
- 18. アニメーションオブジェクトがdivに遭遇した場合、アニメーションオブジェクトを停止することはできますか?
- 19. 構文エラー:遭遇しました ";"
- 20. 2回実行した後、ScheduledExecutorServiceを停止しますか?
- 21. 一度実行したperformseguewithidentifierを停止
- 22. アプレットが実行を停止しない
- 23. Javascriptエラーがコード実行を停止します
- 24. Webサービスからの不正な認証スキームに遭遇しました
- 25. javascriptの警告と実行の停止
- 26. 実行可能停止しない
- 27. 5分ごとにcronjobを実行しますが、最初の実行後に停止しましたか?
- 28. performSelectorの停止:実行中から
- 29. リファクタリングされたPHPコードで実行を停止しますか?
- 30. urllib2.HTTPErrorに遭遇しました:HTTPエラー400:不正なリクエスト
したがって、非同期操作には影響しません。 Kewlio。 –
複数のファイルから呼び出されたjavascriptのより複雑な設定はどうですか? – Kevin
@Kevin:http://jsfiddle.net/TGBYV/を参照してください。基本的にはファイル単位で同じことです。魅力的な、ありがとう。 – pimvdb