JavaScript では、算術演算子は、加算演算子「 」、減算演算子「-」、乗算演算子「*」、除算演算子「/」など、数値 (リテラルまたは変数) に対して算術演算を実行するために使用される記号です。 "、剰余演算子 "%"、数値否定演算子 "-"。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
JavaScript では、算術演算子は数値 (リテラルまたは変数) に対して算術演算を実行するために使用される記号であり、基本的な算術演算 (算術演算子) を完了し、四則演算を処理するために使用される記号です。 。
算術演算子には、加算、減算 -、乗算 *、除算 /、剰余演算子 %、および数値否定演算子 - が含まれます。
演算子 | 説明 | 例 |
---|---|---|
加算演算子 | x y は x と y の合計を計算することを意味します | |
- | 減算演算子 | x - y は x を減算することを意味しますy の差 |
#乗算演算子 | #xx * y は、x と y の積を計算することを意味します||
除算演算子 | x / y は、x を y で割った商を計算することを意味します | |
モジュロ (剰余) 演算子 | x % y は、x を y で割った余りを計算することを意味します |
加算演算子
例 1
特別なオペランドの合計演算に注意してください。var n = 5; //定义并初始化任意一个数值 console.log(NaN + n); //NaN与任意操作数相加,结果都是NaN console.log(Infinity + n); //Infinity与任意操作数相加,结果都是Infinity console.log(Infinity + Infinity); //Infinity与Infinity相加,结果是Infinity console.log((-Infinity) + (-Infinity)); //负Infinity相加,结果是负Infinity console.log((-Infinity) + Infinity); //正负Infinity相加,结果是NaN
例 2
加算演算子は、オペランドのデータ型に基づいて加算するか接続するかを決定できます。console.log(1 + 1); //如果操作数都是数值,则进行相加运算 console.log(1 + "1"); //如果操作数中有一个是字符串,则进行相连运算 console.log(3.0 + 4.3 + ""); //先求和,再连接,返回"7.3" console.log(3.0 + "" + 4.3); //先连接,再连接,返回"34.3" //3.0转换为字符串3
#減算演算子
例 1特殊オペランドの減算演算に注意してください。
var n = 5; //定义并初始化任意一个数值 console.log(NaN - n); //NaN与任意操作数相减,结果都是NaN console.log(Infinity - n); //Infinity与任意操作数相减,结果都是Infinity console.log(Infinity - Infinity); //Infinity与Infinity相减,结果是NaN console.log((-Infinity) - (-Infinity)); //负Infinity相减,结果是NaN console.log((-Infinity) - Infinity); //正负Infinity相减,结果是-Infinity
減算演算で、オペランドが文字列の場合は、演算を実行する前に数値への変換を試みます。オペランドの 1 つが数値でない場合は、NaN が返されます。
console.log(2 - "1"); //返回1 console.log(2 - "a"); //返回NaN
値から 0 を引いた値を使用すると、値を数値にすばやく変換できます。たとえば、HTTP リクエストのクエリ文字列は一般に文字列数値ですが、これらのパラメータ値から 0 を引いて数値に変換することができます。これは parseFloat() メソッドを呼び出した場合と同じ結果になりますが、減算の方が効率的かつ高速です。減算演算子を使用した暗黙的な変換は、失敗すると NaN を返します。これは、parseFloat() メソッドを使用して変換を実行する場合の戻り値とは異なります。
たとえば、文字列「100aaa」の場合、parseFloat() メソッドは最初のいくつかの数値を解析できますが、減算演算子の場合、変換する前に完全な数値である必要があります。
console.log(parseFloat("100aaa")); //返回100 console.log("100aaa" - 0); //返回NaN
ブール値の場合、parseFloat() メソッドは true を 1 に、false を 0 に変換できますが、減算演算子はそれを NaN として扱います。
オブジェクトの場合、parseFloat() メソッドは変換のためにオブジェクトの toString() メソッドの呼び出しを試みますが、減算演算子はまず変換のためにオブジェクトの valueOf() メソッドの呼び出しを試み、次に toString() を呼び出します。失敗したら変換を実行します。
否定演算否定演算子は単項演算子であり、単項減算演算子とも呼ばれます。
例
特別なオペランドの否定演算に注意してください。
console.log(- 5); //返回-5。正常数值取负数 console.log(- "5"); //返回-5。先转换字符串数字为数值类型 console.log(- "a"); //返回NaN。无法完全匹配运算,返回NaN console.log(- Infinity); //返回-Infinity console.log(- (- Infinity)); //返回Infinity console.log(- NaN); //返回NaN
単項減算演算子に対応するのが単項加算演算子で、値を数値にすばやく変換するために使用できます。
乗算演算子特別なオペランドの乗算演算に注意してください。
var n = 5; //定义并初始化任意一个数值 console.log(NaN * n); //NaN与任意操作数相乘,结果都是NaN console.log(Infinity * n); //Infinity与任意非零正数相乘,结果都是Infinity console.log(Infinity * (- n)); //Infinity与任意非零负数相乘,结果是-Infinity console.log(Infinity * 0); //Infinity与0相乘,结果是NaN console.log(Infinity * Infinity); //Infinity与Infinity相乘,结果是Infinity
除算演算子特殊オペランドの除算演算に注意してください。
var n = 5; //定义并初始化任意一个数值 console.log(NaN / n); //如果一个操作数是NaN,结果都是NaN console.log(Infinity / n); //Infinity被任意数字除,结果是Infinity或-Infinity //符号由第二个操作数的符号决定 console.log(Infinity / Infinity); //返回NaN console.log(n / 0); //0除一个非无穷大的数字,结果是Infinity或-Infinity,符号由第二个操作数的符号决定 console.log(n / -0); //返回-Infinity,解释同上
剰余演算子剰余演算はモジュラー演算とも呼ばれます。例:
console.log(3 % 2); //返回余数1
モジュラー演算は主に次の目的に使用されます。この演算は浮動小数点数に対しても機能します。例:
console.log(3.1 % 2.3); //返回余数0.8000000000000003
Example
特殊オペランドの剰余演算に注意してください。
var n = 5; //定义并初始化任意一个数值 console.log(Infinity % n); //返回NaN console.log(Infinity % Infinity); //返回NaN console.log(n % Infinity); //返回5 console.log(0 % n); //返回0 console.log(0 % Infinity); //返回0 console.log(n % 0); //返回NaN console.log(Infinity % 0); //返回NaN
【関連する推奨事項:
JavaScript 学習チュートリアル以上がJavaScript 算術演算子とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。