#このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。 JavaScript には多数の演算子があり、主に算術演算子、等価演算子、比較演算子、文字列演算子、論理演算子、代入演算子などに分類されます。これらの演算子には独自の演算規則がいくつかありますので、JavaScript の演算子を紹介しましょう。 1. JavaScript 演算子の種類1. 算術演算子: 、 - 、 * 、 / 、 % 、 -(単項否定) 、 、 -- 2. アイデンティティ演算子: ==、===、!==、!===3. 比較演算子: <、>、<=、>=4. 文字列演算子: <、>、<=、>=、=、5. 論理演算子: &&、||、!,6. 代入演算子: =、= 、*=、-=、/=JavaScript 演算子には、次の 6 種類があります: 1. 算術演算子、 、 - 、 * など; 2. 恒等演算子、「==」、「===」など; 3.比較演算子、<、> など、4. 文字列演算子、<、> など、5. 論理演算子、「&&」、「!」など、6. 代入演算子、=、“ =「待ってください。
2. JavaScript 演算子の規則
1. 算術演算子の規則
" ": 「加算」および「接続」操作を実行できます。2 つの演算子の一方が文字列の場合、JavaScript はもう一方の文字列への変換を使用して、2 つのオペランドを連結します。 " ": オペランドがオブジェクトの場合、JavaScript はオブジェクトを加算用の数値または連結用の文字列に変換します。"-""*""/" if one 2 つのオペランドのうちの が数値ではない場合は、数学演算を実行するために数値に変換されます。 "/" JavaScript では、すべての数値が浮動小数点数であるため、除算の結果はすべて浮動小数点数、5 / 2 = 2.5 になります。0 で割った結果はプラスまたはマイナスの無限大になります。0/ 0 は NaN;"%" モジュロ演算子: 最初のオペランドから 2 番目のオペランドまでのモジュロを計算します。つまり、最初のオペランドを 2 番目のオペランドで割ったときの剰余が返されます。オペランドが数値以外の場合は、数値に変換されます。 「-」単項否定: オペランドを否定し、オペランドが数値でない場合は数値に変換します。 “ ”“--” インクリメント演算子/デクリメント演算子の記号: オペランドは、変数、ツリー グループの要素、またはオブジェクトの属性である必要があります。オペランドが数値でない場合は、数値に変換されます。 注: " " がオペランドの前にある場合は、最初にオペランドをインクリメントしてから、オペランドの増加した値を計算します。 オペランドの後ろに「--」がある場合は、オペランドをインクリメントする前の値を計算してからオペランドをインクリメントします。 例: i = 1; //値 1 を ij = i; //最初に i を 2 にインクリメントし、次に 2 を j に代入すると、i の値は次のようになります。 2 の場合、j の値も 2 になります。 i = 1; //i を値 1j = i; //最初に i を j に割り当て、次に i を 2 にインクリメントします。i の値は 2 です。 j の値は 1 です。 デクリメント演算子「--」は「」と同じです。2. 等価演算子と同一演算子
(I) "==" "!==" 等価演算子と非同一演算子: 2 つのオペランドを比較し、非ブール値を返します。 数値、文字列、ブール値の比較にはすべて定量的な値が使用されます。 2 つの変数は、それらに格納されている値が等しい場合にのみ等しいと言えます。 オブジェクト、配列、関数を比較する場合、参照が使用されます。2 つの変数は、同じオブジェクトを参照する場合にのみ等しいです。 2 つの異なる配列は、要素がまったく同じであっても、まったく異なります。オブジェクト、配列、関数への参照を格納する変数の場合、それらが同じオブジェクト、配列、または関数を参照する場合にのみ等しくなります。 注意! 従うべき原則: 2 つのオペランドの型が異なる場合: それらを同じ型に変換します。1) 数値と文字列, 文字列を数値に変換した後、比較します。 2) 比較のために true は 1 に変換され、false は 0 に変換されます。 3) オブジェクト、配列、関数、および数値または文字列。オブジェクト、配列、関数はプリミティブ型の値に変換されて比較されます。 (最初に valueOf を使用し、それが機能しない場合は toString を使用します) 4) 他のタイプの組み合わせは等しくありません。 2 つのオペランドの型が同じ、または同じ型に変換した場合: 1) 2 つの文字列: 同じ位置の文字が等しい場合、2 つの文字列は同じです。 2) 2 つの数字: 2 つの数字が同じであれば、それらは同じです。一方が NaN の場合、または両方が NaN の場合は同じではありません。 3) 両方が true の場合、または両方が false の場合、同じことを意味します。 4) 2 つの参照が同じオブジェクト、関数、または配列を参照する場合、それらは等しいです。それらが異なるオブジェクト、関数、または配列を参照する場合、それらは同じではありません。これら 2 つのオブジェクトがあったとしても、関数と配列を参照すると、元の値とまったく同じ値に変換できます。 5) 2 つの null、または両方が未定義の場合、それらは等しいです。"!=" 非等価演算子: 等価演算子検出の逆の結果。
(II) "===" "!===" 同一演算子と非同一演算子の記号:
同一演算子は等価演算子の比較規則に従いますが、 2 つのオペランドの型が異なる場合は false が返され、2 つのオペランドの型が同じ場合にのみ等価演算子の比較規則が適用されます。
「!==」非同一演算子は、同一演算子とは逆の結果をもたらします。 2 つのオペランドの型または値が異なる場合は true を返します。
3. 比較演算子
これらの比較演算子は、異なる型の値を比較するために使用され、結果はブール値を返します。
“<”“>”“<=”“>=”
ルールに注意してください: 比較のオペランドは任意の型にすることができますが、使用できるのはin 数値と演算 数値に対して実行します。数値や文字列ではないオペランドは、数値または文字列に変換されます。
1) 両方のオペランドが数値である場合、または両方を数値に変換できる場合、比較は数値のサイズに基づいて行われます;
2) 両方のオペランドが文字列である場合、またはそれらが文字列に変換でき、アルファベット順に比較されます;
3) 文字列が数値に遭遇した場合、文字列は比較のために数値に変換されます。
4) オペランドを数値または文字列に変換できない場合、結果は false になります。
4. 文字列演算子
専用の文字列演算子はありませんが、一部の演算子は文字列オペランドに遭遇したときに異なる動作をします。
(I) " " は 2 つの文字列を接続します;
1) 両方のオペランドが文字列の場合、それらを接続します;
2) いずれかのオペランドが数値の場合、数値を文字列に変換して連結します;
(II) 「>」などの比較演算子は、比較を通じて 2 つの文字列の順序を確認し、比較では文字の順序が使用されます。大きい文字の前に配置され、大文字は小文字の前に配置されます。
(III) " " の方法は計算順序によって異なります。
例: s = 1 2 "var" then: 結果 3var を返します。1 2 が最初に計算されるため、結果 3 を文字列に変換し、「var」で接続します。
例: s = "var" 1 2 then: 結果 var12 を返します。var と 1 の間の接続が計算されるためです。最初に var1 が文字列に変換され、次に結果 var1 が文字列 2 に変換されます。
5. 論理演算子
はブール演算を実行するために使用され、多くの場合、複雑な比較演算を表現するために比較演算子と一緒に使用されます。
「&&」論理 AND 演算、「||」論理 OR 演算子、「!」論理 NOT 演算子
(I) 両方のオペランドがブール値の場合「&&」 論理 AND の場合つまり、両方のブール値が true の場合にのみ、結果は true になり、それ以外の場合は false が返されます。
注: 実際のパフォーマンス
「&&」は、最初の式オペランドのブール値を検出します。最初のオペランド式が false を返す場合、左側の最初のオペランドが返されます。値式の値: false; それ以外の場合は、右側の 2 番目のオペランド式が引き続き検出され、2 番目のオペランド式の値が返されます。
例: if (a = b) stop ( ); (a = b) && stop();
演算子の右側のコードが実行されることが保証されていないため、このメソッドは非推奨です。
例: : if (( a
「&&」をブール代数演算子とみなす方が簡単かつ安全です。
(II) "||" 両方のオペランドがブール値の場合、論理 OR はそれらに対して OR 演算を実行します。つまり、2 つのブール値のいずれかが true の場合、結果は true になります。それ以外の場合は false を返します。
注: 実際のパフォーマンス
"||" は、最初の式オペランドのブール値を検出します。最初のオペランド式が true を返す場合、左側の最初の演算が返されます。数値式の値: true; それ以外の場合は、右側の 2 番目のオペランド式が引き続き検出され、2 番目のオペランド式の値が返されます。
このメソッドも非推奨です。 | |" の右側のコードは、より単純で安全なブール代数演算子とみなされます。
(III) 「!」論理否定はオペランドの前に置かれる単項演算子であり、その目的はオペランドを否定することです。
6. 代入演算子(I) "= は代入演算子です。常に左側のオペランドが変数または要素であることを期待します。配列またはオブジェクトの属性;右側は任意の型の任意の値であることが期待されます;
式に複数の代入演算子がある場合、右から左への結合性。右端から数えてください。
注: 各代入式には値があり、これは演算子の右側の値です;
(II) 代入演算は、operation
で使用できます。" = " 左の値を右の値に加算した後、左の値に代入します。 「-=」「/=」「*=」も同じメソッドです。
7.その他の演算子
条件演算子は「?:」の 3 つだけです。メタ演算子;
式のブール結果? 式 1 (任意の型の任意の値): 式 2 (任意の型の任意の値);
最初の演算によると、ブール値数値の結果。true の場合、2 番目のオペランド式が実行され、2 番目のオペランド式の値が返されます。最初のオペランドのブール値の結果が false の場合、3 番目の演算が実行されます。数値式。 3 番目のオペランド式の値。
3. JavaScript 演算子に関する注意事項
1. 演算子に渡されるデータ型と返されるデータ型に注意してください! 異なる演算子は、オペランド式が計算されることを期待しています。特定のデータ型。
例: 文字列の乗算は実行できません。「a」 * "b" は無効ですが、可能な場合は、JavaScript が式を正しい型に変換するため、式 "3" * "5 " は有効です。JavaScript は文字列を数値に変換し、操作を実行します。結果は、文字列 "15" ではなく、数値 15 になります。
2. オペランドに応じて異なるパフォーマンス:
String string = string (connected); "a" "b" = "ab" "5" "6" = "11"
文字列番号 = (数値に変換された文字列) 文字列 (連結); "a" 5 = "a5" 5 は文字列 "1" に変換されます 0 = "10"
数値 数値 = 数値(足して) 5 5 = 10。
3. 演算子の結合性に注意してください。演算子には、左から右に結合するものと、右から左に結合するものがあります。
例: w = a b c は w = (a b) c と同等です;
w = ---b は w = - ( - ( -b ) ) と同等です; w = a = b = c は、w= ( a = ( b = c ))と同等です。
単項演算子、代入演算子、および三項演算子の結合性は右から左です;
【推奨される学習: JavaScript 上級チュートリアル ]
以上がJavaScript 演算子はいくつありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。