ホームページ ウェブフロントエンド jsチュートリアル Javascriptコアの語彙構造の読み方_基礎​​知識

Javascriptコアの語彙構造の読み方_基礎​​知識

May 16, 2016 pm 04:16 PM
javascript

プログラミング言語の語彙構造は、言語の記述方法を記述する基本的なルールのセットです。構文の基礎として、変数名の見た目、コメントの書き方、ステートメントの区別方法などが規定されています。このセクションでは、非常に短いスペースを使用して JavaScript の語彙構造を紹介します。

1. 文字セット

JavaScript プログラムは、ASCII と Latin-1 のスーパーセットである Unicode 文字セットを使用して記述されており、この地域のほぼすべての言語をサポートしています。 ECMAscript3 では、JavaScript の実装が Unicode2,1 以降のバージョンをサポートする必要があり、ECMAscript5 では Unicode3 以降のバージョンのサポートが必要です

i. 大文字と小文字が区別されます

JavaScript は大文字と小文字を区別する言語です。つまり、キーワード、変数、関数名、およびすべての式文字は大文字と小文字を一貫して使用する必要があります。たとえば、キーワード while は While や WHILE ではなく、while と記述する必要があります。

ただし、html は大文字と小文字を区別しないことに注意してください (xhtml は区別しますが)。クライアント側の JavaScript と密接に関連しているため、混乱しやすいです。例えば、HTMLで設定する処理イベントではonclick属性をonClickと記述できますが、JavaScriptではonclickと小文字で記述します。

ii スペース、改行、書式コントロール

JavaScript はプログラム内のトークン間のスペースを無視します。ほとんどの場合、JavaScript は改行も無視します。コード内でスペースや改行を自由に使用できるため、整然とした一貫したインデントを使用して統一されたコーディング スタイルを形成し、コードの読みやすさを向上させることができます。

JavaScript はスペース文字 (u0020) に加えてスペース文字も認識します。 JavaScript は、スペースをマークする次の文字も表します: 水平タブ (u0009)、垂直タブ (u000B)、フォーム フィード (u000C)、非改行空白 (u00A0)、バイト オーダー マーク (uFEFF)、および Zs カテゴリのすべての文字ユニコード。 JavaScript は、改行 (u000A)、キャリッジ リターン (u000D)、行区切り文字 (u2028)、および段落区切り文字 (u2029) の文字をターミネータとして認識します。キャリッジ リターン文字とライン フィード文字は一緒に単一の行終端文字に解析されます。

「右から左への書き込みマーク」(u200F) や「左から右への書き込みマーク」(u200E) などの Unicode 形式の制御文字 (Cf クラス) は、テキストの視覚的な表示を制御します。これは、一部の英語以外のテキストを正しく表示するために重要です。これらの文字は、JavaScript コメント、文字列リテラル、正規表現リテラルでは使用できますが、幅ゼロを除き、識別子 (変数名など) では使用できません。コネクタ (u200D) およびゼロ幅非コネクタ (uFEFF)。これらは、識別子に使用できる手書き文字ですが、識別子として使用することはできません。前述したように、バイト オーダー マーク形式制御文字 (uFEFF) はスペース

として扱われます。

iii.Unicode エスケープ シーケンス

一部のコンピューター ハードウェアおよびソフトウェアでは、Unicode 文字の完全なセットを表示または入力できません。古いテクノロジを使用するプログラマをサポートするために、JavaScript は 6 つの ASCII 文字を使用して 16 ビット Unicode 内部コードを表す特別なシーケンスを定義します。これらの Unicode エスケープ シーケンスには、接頭辞として u が付き、その後に 16 進数のマウス (数字と大文字と小文字の A ~ F を使用して表されます) が続きます。この Unicode エスケープ記述方法は、JavaScript 文字列リテラル、正規表現、および識別子 (キーワードを除く) で使用できます。たとえば、文字 é の Unicode エスケープ記述メソッドは u00E9 であり、次の 2 つの Javascript 文字列はまったく同じです。

"カフェ" === "cafu00e9" => true
Unicode エスケープ記述はコメント内に現れる可能性がありますが、JavaScript はコメントを無視するため、コメントはコンテキスト内で ASCII 文字としてのみ扱われ、対応する Unicode 文字

が後に続くことはありません。

iiii 標準化

Unicode では、複数のメソッドで同じ文字をエンコードできます。たとえば、文字 é には、Unicode 文字 u00E9 を使用することも、イントネーション記号 u0301 が後に続く通常の ASCII 文字 e を使用することもできます。テキスト エディタでは、これら 2 つのエンコードによって表示される結果はまったく同じですが、バイナリ エンコード表現が異なります。 . コンピュータでも同様です。 Unicode 標準は、インデックス文字の推奨コード形式を定義し、テキストを比較に適した標準形式に変換するための標準化された処理方法を提供します。他の表現、文字列、または正規表現は標準化されません。

2. 注意事項

JavaScript は 2 つのコメント メソッドをサポートしています。行末「//」の後のテキストは、JavaScript によってコメントとして無視されます。
また、/* と */ の間のテキストもコメントとして扱われます。この種のコメントは行をまたいで記述できますが、コメントをネストすることはできません。

//単一行コメント
/*
*
*
*
*/
3. 直接測定

いわゆるリテラルは、プログラム内で直接使用されるデータ値です。リテラル数量は以下にリストされています。

コードをコピー コードは次のとおりです:

12 //数字
1.2 //10 進数
"Hello World" //文字列テキスト
'hi' //別の文字列
true //ブール値
false //ブール値
/ Javascript / gi // 正規表現直接数量 (マッチングモード一致)
ヌル
第 3 章では、数値と文字列リテラルについて詳しく説明します。正規表現リテラルについては第 10 章で説明します。さらに多くの式を配列またはオブジェクト リテラルとして記述できます。

{x:1,y:2} //オブジェクト

[1,2,3,4,5] //配列

4. 識別子と予約語

識別子は名前です。 JavaScript では、識別子は変数や関数に名前を付けるため、または JavaScript コード内の特定のループ ステートメント内のジャンプ位置をマークするために使用されます。 JavaScript 識別子は文字で始まる必要があります。アンダースコアまたはドル記号で始めます。後続の文字は文字にすることができます。番号。アンダースコアまたはドル記号 (数字を最初の文字として使用することはできません。JavaScript は識別子と数字を簡単に区別できます)。以下は正当な識別子です

コードをコピーします コードは次のとおりです:
私の変数名
b13
_ダミー
$str

移植性と書きやすさの理由から、通常、識別子の記述には ASCII 文字と数字のみを使用します。次に、JavaScript では、Unicode 文字セットの文字と数字を識別子に使用できることに注意してください (技術的には、ECMAScript では、Unicode 文字メカニズムの Mn クラス、Mc クラス、および P クラスを識別子の最初の文字の後に使用できます)。したがって、プログラマは英語以外の言語や数学的表記法を使用して識別子を記述することができます

コードをコピーします コードは次のとおりです:
var sá = true;
var π = 3.14;

JavaScript は一部の識別子を取り出してキーワードとして使用するため、プログラム内でこれらのキーワードを識別子として使用することはできなくなります。

コードをコピーします コードは次のとおりです:
休憩
ケース
キャッチ
続ける
デフォルト
削除
する
それ以外
ついに

用 関数
もし

で インスタンス
新しい
戻る
スイッチ
これ
投げる
試してみてください

の種類 var
無効
その間

付き

JavaScript の予約語

クラス const enum エクスポート
エクスポート拡張インポート super
また、これらのキーワードは通常の JavaScript では有効ですが、strict モードでは予約語です

実装により、プライベート・パブリックがインターフェース・パッケージを生成できるようになります
保護された静的
同じ厳密モードでは以下の識別子に厳しい制限がかかりますが、変数名、パラメータ名、関数名は使用できません。

引数の評価
JavaScript の特定の実装では、固有のグローバル変数および関数が定義される場合があります。特定の JavaScript 実行環境 (クライアント) サーバーなどには、独自のグローバル属性リストがあることに留意する必要があります。 (クライアントJavaScriptで定義されたグローバル変数と関数リストを理解するためのウィンドウオブジェクト)

5. オプションのセミコロン

多くのプログラミング言語と同様、JavaScript ではステートメントを区切るためにセミコロン (;) を使用します。これは、コードの可読性と整頓性を高めるために非常に重要です。区切り文字がないと、あるステートメントの終わりが次のステートメントの始まりになり、その逆も同様です。
JavaScript では、各ステートメントは独自の行にあり、ステートメント間のセミコロンは通常省略できます (プログラムの最後の中括弧 "}" の前のセミコロンも省略できます)。多くの JavaScript プログラマ (この本のコード例を含む) は、セミコロンが必ずしも必要でない場合でも、ステートメントの終わりを明確に示すためにセミコロンを使用します。セミコロンを省略できる場合は必ずセミコロンを使用します。セミコロンは必要な場合にのみ使用してください。プログラミング スタイルに関係なく、JavaScript については注意すべき点がいくつかあります。
次のコードでは、最初のセミコロンは省略できます

a=3;
b=4;
ただし、以下の形式で記述した場合、最初のセミコロンは省略できません。

a=3;b=4;
JavaScript はすべての改行でセミコロンを埋めないことに注意してください。JavaScript は、コードがセミコロンなしでは正常に解析できない場合にのみセミコロンを埋めます。つまり、(例外の下のコード内の 2 つの場所と同様)、現在のステートメントと後続の非スペース文字を全体として解析することはできません。JavaScript は現在のステートメントの末尾にセミコロンを埋めます。次のコードを見てください

変数

=
3
console.log(a)
JavaScriptはそれを

として解析します

var a;a=3;console.log(a); JavaScript は最初の行にセミコロンを追加します。セミコロンがないと、JavaScript はコード内の var a a を解析できません。 2 番目の a は単独のステートメント「a;」と見なすことができますが、JavaScript は 2 行目の末尾のセミコロンを埋めません。コンテンツの 3 行目と一緒に「a=3;」に解析できるためです。

ステートメントの分割ルールによっては、予期しない状況が発生する可能性があります。このコード ブレークは 2 つの行に分割されており、2 つの独立したステートメントのように見えます。

var y = x f

(a b).toString()
2 行目の括弧と 1 行目の f は関数呼び出しを形成しており、JavaScript はこのコードを
とみなします。

var y = x f(a b).toString();

明らかに、これはコードの意図したものではありません。上記のコードを 2 つの異なるステートメントに解析するには、動作の表示セミコロンを手動で入力する必要があります。
一般に、ステートメントが ( [ / - で始まる場合、そのステートメントは前のステートメントと一緒に解析される可能性が非常に高くなります。/ - で始まるステートメントはあまり一般的ではありませんが、( [ で始まるステートメントは非常に一般的です。少なくとも、一部の JavaScript エンコーディング スタイルでは、この方法でステートメントの前にセミコロンを慎重に追加することがよくあります。このようにして、前のステートメントが変更され、セミコロンが誤って削除されたとしても、現在のステートメントはそのまま残ります。同様に正しく解析されます。 現在のステートメントとステートメントの次の行を結合して解析できない場合。次に、JavaScript は最初の行の後にセミコロンを埋め込みます。これは、2 つの列を除く一般的な規則です。最初の例外には、returnm、birak、および continue ステートメントが含まれます (これら 3 つのキーワードの後に​​改行が続く場合)。 JavaScript は改行時にセミコロンを埋めます。たとえば

たとえば

戻る

true;

そして、JavaScript は

に解析されます。
戻る;次へ;
コードの本来の意味は

true を返します;
つまり、後続の return、break、および continue の式の間に改行を入れることはできません。改行が追加された場合、プログラムは非常に特殊な状況でのみエラーを報告します。そして、プログラムのデバッグは非常に不便です。

2 番目の例には -- 演算子が含まれており、これらの式シンボルは識別子式の接頭辞と接尾辞を表すことができます。接尾辞式として使用される場合は、接尾辞式として使用されます。それと式は 1 行で表示される必要があります。それ以外の場合は、行の末尾にセミコロンが埋め込まれます。

コードをコピーします コードは次のとおりです: ×
やあ

上記のコードは

に解析されます

コードをコピーします コードは次のとおりです:

x;

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

JavaScriptでinsertBeforeを使用する方法 JavaScriptでinsertBeforeを使用する方法 Nov 24, 2023 am 11:56 AM

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript と WebSocket: 効率的なリアルタイム画像処理システムの構築 JavaScript と WebSocket: 効率的なリアルタイム画像処理システムの構築 Dec 17, 2023 am 08:41 AM

JavaScript は Web 開発で広く使用されているプログラミング言語であり、WebSocket はリアルタイム通信に使用されるネットワーク プロトコルです。 2 つの強力な機能を組み合わせることで、効率的なリアルタイム画像処理システムを構築できます。この記事では、JavaScript と WebSocket を使用してこのシステムを実装する方法と、具体的なコード例を紹介します。まず、リアルタイム画像処理システムの要件と目標を明確にする必要があります。リアルタイムの画像データを収集できるカメラ デバイスがあるとします。

See all articles