ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript に関する 9 つの落とし穴とコメント

JavaScript に関する 9 つの落とし穴とコメント

黄舟
黄舟オリジナル
2016-12-14 15:51:12869ブラウズ

JavaScript の 9 つの落とし穴から、JavaScript によくある 9 つの落とし穴を以下に示します。これはそれほど深い技術的な問題ではありませんが、注意を払うことでプログラミングが容易になり、これは作業を楽にするというもので、いくつかのトラップについて著者はさまざまなコメントをしています。

最後のコンマ

このコードのように、最後のコンマに注意してください。これは言語学的観点からは適切なはずです (同様のデータ型の Python の辞書を使用すると、これが可能になります)。 IE は構文エラーを報告しますが、言語は不明瞭です。人間の目で確認できるのは数千行のコードだけです。

<script> var theObj = { city : "Boston", state : "MA", }</script> このコードの参照は次のようになります:

<script>var MyObject = function () { this.alertMessage = "JavaScript ルール"; this.ClickHandler = function() {alert(this.alertMessage ); } } ();document.getElementById("theText").onclick = MyObject.ClickHandler</script>

はあなたが望むものではなく、答えは「JavaScript ルール」ではありません。 MyObject.ClickHandler を実行すると、コードの赤い行で、this の参照は実際には document.getElementById("theText") の参照を指します。これは次のように解決できます:

<script>var MyObject = function () { var self = this.alertMessage = 「JavaScript ルール "; this.OnClick = function() {alert(self.value); }}();document.getElementById("theText").onclick = MyObject.OnClick</script>

本質的に、これは次のとおりですJavaScript スコープの問題。調べてみると、解決策が複数あることがわかります。

個人情報泥棒

HTML ID と同じ変数名を JavaScript で使用しないでください。次のコード:

<script> TheButton = get("TheButton");</script>

IE はオブジェクト未定義エラーを報告します。私が言えるのは、IE は最悪です

最初に一致した文字列のみを置き換える

次のコード: