ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript 算術演算子とは何ですか

JavaScript 算術演算子とは何ですか

青灯夜游
青灯夜游オリジナル
2021-11-26 17:07:322931ブラウズ

JavaScript では、算術演算子は、加算演算子「 」、減算演算子「-」、乗算演算子「*」、除算演算子「/」など、数値 (リテラルまたは変数) に対して算術演算を実行するために使用される記号です。 "、剰余演算子 "%"、数値否定演算子 "-"。

JavaScript 算術演算子とは何ですか

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript では、算術演算子は数値 (リテラルまたは変数) に対して算術演算を実行するために使用される記号であり、基本的な算術演算 (算術演算子) を完了し、四則演算を処理するために使用される記号です。 。

算術演算子には、加算、減算 -、乗算 *、除算 /、剰余演算子 %、および数値否定演算子 - が含まれます。

#xx * y は、x と y の積を計算することを意味します/除算演算子x / y は、x を y で割った商を計算することを意味します%モジュロ (剰余) 演算子x % 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

例 2

減算演算で、オペランドが文字列の場合は、演算を実行する前に数値への変換を試みます。オペランドの 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 サイトの他の関連記事を参照してください。

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