JavaScript がセミコロンを自動的に挿入しないようにする方法
JavaScript には、行末にセミコロンを自動挿入するメカニズムがあります。これにより、セミコロンの入力を忘れることを許容できる人もいます。 もちろん、セミコロンを入力する習慣を身につけ、セミコロンの省略を JavaScript がどのように処理するかを理解することが最善です。この知識は、セミコロンのないコードを理解するのに役立ちます。
JavaScript 言語にはメカニズムがあります。解析中に、文の後にセミコロンを自動的に挿入して、文末の欠落しているセミコロン区切り文字を修正できます。ただし、この自動的に挿入されたセミコロンは、すべての空白文字が無視されるという JavaScript 言語の別のメカニズムと競合するため、プログラムは空白を使用してコードをフォーマットできます。
これら 2 つのメカニズム間の競合により、より深刻な解析エラーが簡単に隠蔽される可能性があります。セミコロンが不適切なタイミングで挿入されることがあります。たとえば、return ステートメントにセミコロンを自動的に挿入すると、次のような結果になります。 return ステートメントが値を返す場合、この値の式の先頭は return と同じ行にある必要があります。たとえば、
var f = function(){ return { status: true }; }
ここではステータスメンバー要素を含むオブジェクトが返されるようです。残念ながら、JavaScript は自動的にセミコロンを挿入し、未定義を返すため、以下で返されるオブジェクトが無視されます。
セミコロンの自動挿入によりプログラムが誤解される場合、警告は表示されません。この問題は、次の行の先頭ではなく前の行の末尾に { を配置することで回避できます。例:
var f = function(){ return { status: true }; }
セミコロンを省略することをお勧めします。 行内のステートメントが完全であるかどうかに関係なく、完全なステートメントである限り、文の終わりを示すためにセミコロンを追加する必要があります。
読みやすくするために、長い文を複数の行に分けて表示する必要がある場合、完全な論理意味論を 1 行で形成できないようにする必要があります。たとえば、次のコードは連続した代入ステートメントです。別々の行に表示すると、それらの関係がより明確に表示されます。この種の分岐は、独立した論理セマンティクスを 1 行で形成できないため、JavaScript は各行を独立した文として扱わないため、あいまいさが存在しないことを示しています。
var a = b = c = 4;
上記のステートメントは、次のように 1 行で表示されます: var a = b = c = 4;
次のステートメントの場合、if正しくありません。別々の行に表示すると、あいまいさが生じやすくなります。この文の意味: 変数 i を定義し、それに値を代入します。変数 a が true の場合、その値は 1 に代入されます。それ以外の場合は、変数 b が true であると判断され、値が代入されます。それ以外の場合は変数 c が判定され、c が true の場合は代入値は 3、それ以外の場合は代入値は 4 となります。
var i = a ? 1 : b ? 2 : c ? 3 : 4;
以下の分岐表示は間違っています。式 a? 1: b は独立した論理セマンティクスを形成できるため、JavaScript は独立した文を表すためにその後ろにセミコロンを自動的に追加します。
var i = a ? 1: b ? 2 : c ? 3 : 4;
安全なメソッドは、各行が独立したセマンティクスを形成できないように、次のように別々の行に表示する必要があります。
var i = a ? 1 : b ? 2 : c ? 3 : 4;
つまり、コードを書くときは、完全な文はすべてセミコロンで区切る必要があります。文を別々の行に表示する場合は、単一の行が独立した法的論理セマンティクスを簡単に形成できないようにする必要があります
追記: 行末にセミコロンを自動的に追加する JavaScript の詳細な例
セミコロン (;)。通常はステートメントの行の最後に使用されます。コードは次のとおりです:
var webName = "php中文网"; var url = www.jb51.net;
上記のコードは、各宣言ステートメントの後にセミコロンを追加します。これについてはこれ以上説明する必要はありません。
var webName = "php中文网" var url = www.jb51.net
実際、セミコロンは省略できますが、省略されたセミコロンはコンパイル段階で自動的に追加されます。
コード例を見てみましょう:
function done(webName){ return webName } console.log(done("php中文网"));
コンパイラーが各行の後に自動的にセミコロンを追加するため、出力値は「php Chinese net」ではなく、undefinated となります。
上記はこの章の全内容です。その他の関連チュートリアルについては、JavaScript ビデオ チュートリアル をご覧ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

単純なJavaScript関数は、日付が有効かどうかを確認するために使用されます。 関数isvaliddate(s){ var bits = s.split( '/'); var d = new Date(bits [2] '/' bits [1] '/'ビット[0]); return !!(d &&(d.getmonth()1)== bits [1] && d.getdate()== number(bits [0])); } //テスト var

この記事では、jQueryを使用して、DOM要素の内側のマージン値とマージン値、特に外側の縁と要素の内側の縁の特定の位置を取得して設定する方法について説明します。 CSSを使用して要素の内側と外側の縁を設定することは可能ですが、正確な値を取得するのは難しい場合があります。 // 設定 $( "div.header")。css( "margin"、 "10px"); $( "div.header")。css( "padding"、 "10px"); このコードはそうだと思うかもしれません

この記事では、10個の例外的なjQueryタブとアコーディオンについて説明します。 タブとアコーディオンの重要な違いは、コンテンツパネルの表示方法と非表示にあります。これらの10の例を掘り下げましょう。 関連記事:10 jQueryタブプラグイン

ウェブサイトのダイナミズムと視覚的な魅力を高めるために、10の例外的なjQueryプラグインを発見してください!このキュレーションされたコレクションは、画像アニメーションからインタラクティブなギャラリーまで、多様な機能を提供します。これらの強力なツールを探りましょう。 関連投稿: 1

HTTP-Consoleは、HTTPコマンドを実行するためのコマンドラインインターフェイスを提供するノードモジュールです。 Webサーバー、Web Servに対して作成されているかどうかに関係なく、HTTPリクエストで何が起こっているかをデバッグして正確に確認するのに最適です

このチュートリアルでは、カスタムGoogle検索APIをブログまたはWebサイトに統合する方法を示し、標準のWordPressテーマ検索関数よりも洗練された検索エクスペリエンスを提供します。 驚くほど簡単です!検索をyに制限することができます

次のjQueryコードスニペットを使用して、Divコンテンツがコンテナ要素領域を超えたときにスクロールバーを追加できます。 (デモンストレーションはありません、それを直接firebugにコピーしてください) // d =ドキュメント // w =ウィンドウ // $ = jQuery var contentarea = $(this)、 wintop = contentarea.scrolltop()、 docheight = $(d).height()、 winheight = $(w).height()、 divheight = $( '#c
