JavaScript では、式は、数値、演算子、数値グループ化記号 (括弧)、自由変数、制約変数などを、数値を取得できる意味のある配列で組み合わせたものであり、式は分割できます。プリミティブな式と複雑な式の 2 種類があります。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
一般に、JavaScript の基本構文に関してよく聞かれる用語は、演算子とステートメントです。しかし、実はよく使われるのにあまり言及されないもう一つの用語があり、それが JavaScript 表現です。この記事では、JavaScript 式について詳しく紹介します
#式とは何ですか?
式とは、数値、演算子、数値グループ化記号 (括弧)、自由変数、制約変数などを、数値を取得できる意味のある配列で組み合わせたものです。制約変数には式内の値が割り当てられますが、自由変数には式の外側に値が割り当てられます。
Javascriptの式はプリミティブ式と複雑な式に分けられます
#Primary Expression(プライマリ式)#Primary Expressionは最小の式です。式の単位 - 他の式は含まれなくなりました
元の式はリテラル、キーワード、変数に分割されます。詳細には、このキーワード、識別子の参照、リテラルの参照、配列の初期化、オブジェクトの初期化、グループ化式が含まれます。
PrimaryExpression : this Identifier Literal ArrayLiteral ObjectLiteral ( Expression )
this;//返回当前对象
i;//返回变量i的值
sum;//返回变量sum的值
リテラルは、直接数量にも変換され、使用されるデータ値です。プログラム内で直接
Literal :: NullLiteral BooleanLiteral NumericLiteral StringLiteral RegularExpressionLiteral
null; undefined; true; false; 1; 'abc'; /pattern/;
実際の配列の初期化とオブジェクトの初期化 上記は、文字通りに説明された初期化プロセスです。これら 2 つの初期化式は、「オブジェクト リテラル」および「配列リテラル」と呼ばれることもあります。
[]; [1,2,3]; {}; {a:1};
グループ化式は実際には括弧であり、演算子をオーバーライドするために使用される優先順位です
複雑な式 (MemberExpression) 複雑な式は、元の式と演算子 (operator) で構成されます。これには、属性アクセス式、オブジェクト作成が含まれます。式と関数式
MemberExpression : MemberExpression [ Expression ] MemberExpression . IdentifierName new MemberExpression Arguments FunctionExpression
属性アクセス式の操作を取得できます オブジェクト属性または配列要素の値 JavaScript では、次の 2 つの構文が定義されています。属性アクセス
MemberExpression . IdentifierName MemberExpression [ Expression ]
最初の書き方は、式の後にピリオドと識別子を続ける方法です。式はオブジェクトを指定し、識別子はアクセスする必要がある属性の名前を指定します。
2 番目の記述方法は、角括弧を使用することであり、角括弧内に別の式を入れます (この方法は、オブジェクトと配列)。 2 番目の式は、アクセスするプロパティの名前を指定するか、アクセスする配列要素のインデックスを表します
var o = {x:1,y:{z:3}}; //对象字面量 var a = [o,4,[5,6]]; // 包含对象的数组字面量 o.x;//表达式o的x属性 o.y.z;//表达式o.y的z属性 o['x'];//对象o的x属性 a[1];//表达式a中索引为1的元素
どの形式のプロパティ アクセス式が使用されるかに関係なく、「.」と「[」の前の式は、 '
は常に最初に評価されます。評価結果が null または未定義の場合、どちらの値にもプロパティを含めることができないため、式は TypeError 例外をスローします。
評価結果がobject の場合、JavaScript はそれをオブジェクトに変換します。
オブジェクト式の後にピリオドと識別子が続く場合、この識別子で指定された属性値が検索され、式全体の値として返されます
オブジェクト式の後に角括弧のペアが続く場合、角括弧内の式が評価されて文字列に変換されます
いずれの場合も、名前付きプロパティが存在しない場合、プロパティ アクセス式全体の値は未定義です
オブジェクト作成式オブジェクト作成式はオブジェクトを作成し、関数を呼び出して新しいオブジェクトのプロパティを初期化します
new Object(); new Point(2,3);
オブジェクト作成式でコンストラクターにパラメーターを渡す必要がない場合は、この空の括弧のペアを省略できます
new Object;
関数式は関数定義式と関数呼び出し式に分けられます
関数定義式は JavaScript 関数を定義し、式の値は新しく定義された関数になります
典型的な例 関数定義式キーワード function とそれに続く 1 組のかっこが含まれます。かっこ内には、0 個以上の識別子 (パラメーター名) を含むカンマ区切りのリストがあり、その後に JavaScript コード セグメント (関数本体) がかっこで囲まれています
function square(x){ return x*x; }
関数定義式には関数の名前を含めることもできます。また、関数式の代わりに関数ステートメントを使用して関数を定義することもできます。
var square = function(x){return x*x;}
関数呼び出し式は、関数またはメソッドの呼び出しまたは実行の構文表現です。この式がプロパティ アクセス式の場合、この呼び出しはメソッド呼び出しと呼ばれます
f(0); Math.max(x,y,z); a.sort();
[関連する推奨事項:
JavaScript 学習チュートリアル以上がJavaScriptの式とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。