ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript の互換性とデバッグ スキル

JavaScript の互換性とデバッグ スキル

高洛峰
高洛峰オリジナル
2016-12-06 09:42:401218ブラウズ

JavaScript の互換性に関して、最も遅い方法は jQuery のツール機能を使用することです。多くのブラウザでは関数が見つからないというエラーが報告されるため、ECMAScript などの関数は使用しないでください。以下に、開発プロセス中に発生した JavaScript の問題をいくつか示します。

1. パラメータリストに複数のカンマが含まれています。

$.ajax({}) メソッド、よくご存知ですが、IE ではパラメータリストを結合するときに最後にカンマを追加すると、 JS ではすべてのパラメータが失われるのではないかと思われます。

デバッグ中に次のエラーが報告されます:

識別子、文字列、または数値が欠落しています

2. var str; と var str="" の違い

2 つの出力結果は次のとおりです:

1回目:

2回目:

JavaScript の互換性とデバッグ スキル

変数は、定義時に値が割り当てられていない場合、未定義です。文字列の追加は未定義+「追加する文字列」です。次のように HTML 要素に値を代入するとします。 「未定義」も表示されますので、注意する必要があります。

JavaScript の互換性とデバッグ スキル3. IE のキャッシュされた JS のデバッグ

今日デバッグをしていたら、IE8 の JS キャッシュが非常に横暴であることがわかりました。キャッシュを更新およびクリアしても効果はありません。マウスの左ボタンがほぼ壊れるまで更新されますが、それでも更新されません。

それでは、JSを導入する際に最後にnew Date()を追加するという特別なトリックについてお話します。こうすることで、それほど熱心にリフレッシュする必要がなくなります。

4. JS は関数/変数が存在するかどうかを判断し、存在する場合は、 call

javascript ifの条件としてnull、unknown、0、""、falseを使用した場合、それらはfalseとみなされます。

つまり、変数については、この判断に基づいて変数 var str = ""; を定義しても、 false が返されます。

りー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。