知らせ:
1.現在JavaScriptテクノロジーを勉強しているので、ここではJavaScriptを例に挙げています。自分でPHPで試すことができます。
2。JavaScriptの構文は比較的複雑なので、JavaScriptを例にとってください。
私は最近、本の権威あるJavaScriptガイドを読みました。戻る
私はこの本に関するより多くの記事を徐々に書きます。
この記事の理論的知識は、権威あるJavaScriptガイドからのものです。ここで整理するか、メモと呼びます。
あなたの基礎が十分である場合、それを完全に理解するのは問題ではありませんが、少し落ち込んでいる場合は、QQ:76863715を追加できます
この記事を読むという前提は、表現とは何か、声明とは何かを区別できるということです。また、オペレーターとオペレーターがほとんどあるものも明確です。場所
式という用語は、JavaScriptの「フレーズ」であり、JavaScriptインタープリターが計算して値を生成できます。式はできます
次の3つのタイプに分かれています。
1)1.7などの直接的な数量は、直接的な数量の数値であり、「JavaScript Authoritative Guide」は直接的な量の文字列などです。
2)変数
直接数量式の値は直接的な量自体であり、変数式の値は、変数によって保存または参照される値です。
3)上記の「単純な」式を「マージ」して、比較的複雑な表現として作成できます。たとえば、1.7は式であり、私も式であり、次のコードは同じ(呼ばれることもあります)式を示しています。
I+1.7
上記の式の値は、2つの単純な式(可変式と単純な式)の合計です。この例では、「+」は2つの単純な式を組み合わせて複雑な式を形成する演算子です。
操作数
オペレーターは、オペレーターが必要とする操作の数に従って分類できます。ほとんどの演算子はバイナリ演算子であり、2つの「式」を1つの複雑な式に組み合わせています。要するに、2つの算術番号があります。さらに、JavaScriptは多数の単位オペレーターをサポートしており、1つの式を別のより複雑な式に変換できます。たとえば、式-3では、演算子「 - 」は統一された演算子であり、操作数を逆にするための操作を実行します。
JavaScriptは、3つの式を1つの複雑な式に融合させることができます。
OK、コンマオペレーターの説明を始めましょう。
最初に左側のパラメーターを計算し、右側のパラメーター値を計算するコンマオペレーター。次に、右端パラメーターの値を返します。
元の本に記載されている例はあまり良くなく、上記の文を説明することはできません。これが別のものです:
<script> var a = 10、b = 20; function commatest(){return a ++、b ++、10;} var c = commatest(); alert(a); // 11Alert(b)を返します。 // 21Alert(c)を返します。 // 10 </script>を返します変数cの値は、関数commatestによって返される値であり、aとbは1を追加します。
コンマオペレーターと機能コールオペレーターの間の競合
JavaScriptでは、関数呼び出しは実際に機能コール演算子です。他のプログラミング言語資料にはこの名前がないため、非常に特別です。その後、(つまり)固定数の操作はありません。
関数コール演算子の最初のパラメーターは、関数名または関数を参照し、その後に括弧()が続く式です。括弧の中央にあるオペレーターの数は変化する可能性があり、これらのオペランドはカンマによって分離された任意の表現にすることができます。
関数コール演算子は、各操作を計算し、最初の操作は関数名として(ブラケットの前)として指定され、ブラケットの中央にあるすべての操作の値は、関数のパラメーターとしてこの関数に渡されます。
例えば:
document.close()math.sin(x)alert( "welcome" + name)date.utc(2000、11、31、23、59、59)funcs.f(funcs.args [0]、funcs.args [1])
その呼び出し関数演算子を知った後、彼らの競合に対処する方法の例を挙げましょう。
<script> alert(2*5、2*4); //出力10 </script>
上記のコードは10を出力しますが、コンマオペレーターの原則に従って説明した場合、出力8。なぜですか?
コンマオペレーターはJavaScriptの最優先事項であるため、これを覚えておくと非常に便利です。したがって、関数コールオペレーターはコンマオペレーターの前に実行されます。結果アラート関数は、最初のパラメーターの値を出力します。上記のコードを以下に変更します。
<Script> Alert((2*5、2*4)); // 8 </script>に戻ります
コンマオペレーターと割り当て操作との対立
JavaScriptでは、コンマオペレーターは割り当てオペレーターよりも優れた優先度を持っています。以下のコードをご覧ください。
<script> var a = 20; var b = ++ a、10; alert(b); </script>
このコードは実行されないようです。おそらく、割り当てオペレーターがコンマ式よりも優先順位を実行しているため、コードが変更された場合
<script> var a = 20; var b =(++ a、10); alert(b); </script>
やるだけ。
ここで上記の「可能性」について説明しましょう。これらは私の見解の一部であり、権威あるものではないかもしれません。
コンマオペレーターは、そのオペランドが複雑な式または単純な式(変数や直接的な数量など)であることを要求しますが、割り当て演算子はコンマオペレーターよりも優先されるため、左のオペランドまたは式ではなく、VARキーワードを含むステートメントになります。
以前に実行できなかったコードは、次のコードと見なすことができます。
<script> var a = 20;(var b = ++ a)、10; alert(b); </scrip>
声明には式の声明がありますが、すべてのステートメントが式であるわけではありません。
###################################################################################################################################################################################################################################」
1。コンマオペレーターの特性と機能
コンマオペレーターは、いくつかの式を連結することです。その優先順位はすべての演算子の中で最低であり、結合方向は「左から右」です。
例:3*3、4*4
2。コンマ式
コンマ式の一般的な形式は次のとおりです。式1、式2、式3 ...式n
コンマ式の解決プロセスは次のとおりです。最初に式1の値を計算し、次に式2の値を計算し、...式nの値になるまで計算します。最後に、コンマ式全体の値は式nの値です。
次の例を参照してください。
x = 8*2、x*4 /*式全体の値は64で、xの値は16* /
(x = 8*2、x*4)、x*2 /*式全体の値は128で、xの値は16* /です
x =(z = 5,5*2) /*式全体は割り当て式であり、その値は10、zの値は5* /
x = z = 5,5*2 /*式全体はコンマ式であり、その値は10、xとzの値は5* /です
コンマ式を使用する場所はあまりありません。通常、ループ変数に初期値を割り当てるときにのみ使用されます。したがって、プログラム内のすべてのコンマがコンマオペレーターと見なされるわけではありません。特に関数を呼び出す場合、各パラメーターはコンマで分離され、コンマはコンマオペレーターではありません。
例:printf( "%d、%d、%d"、x、y、z);
################################################################################################################################################################################################################
オペレーターは、両側の式を左から右に順番に実行し、右側の式の値を取得します。 、演算子の最も一般的な使用は、ループの増分表現で使用されます。例えば:
for(i = 0; i <10; i ++、j ++){k = i+j;}ループの端を通過するたびに、forステートメントでは、単一の式のみを実行できます。 、オペレーターは、複数の式を単一の式として扱うことを許可するために使用され、それによりこの制限を回避します。
上記の記事では、JSでのコンマオペレーターの使用について簡単に説明しています。これは、私があなたと共有したすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。