| 
									
										
										
										
											2018-10-12 16:35:31 -04:00
										 |  |  |  | --- | 
					
						
							|  |  |  |  | title: Arithmetic Operation | 
					
						
							|  |  |  |  | localeTitle: 算术运算 | 
					
						
							|  |  |  |  | --- | 
					
						
							|  |  |  |  | JavaScript为用户提供了五个算术运算符: `+` , `-` , `*` , `/`和`%` 。运算符分别用于加法,减法,乘法,除法和余数。 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | ## 加成
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | **句法** | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | `a + b` | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | **用法** | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | 2 + 3          // returns 5  | 
					
						
							|  |  |  |  |  true + 2       // interprets true as 1 and returns 3  | 
					
						
							|  |  |  |  |  false + 5      // interprets false as 0 and returns 5  | 
					
						
							|  |  |  |  |  true + "bar"   // concatenates the boolean value and returns "truebar"  | 
					
						
							|  |  |  |  |  5 + "foo"      // concatenates the string and the number and returns "5foo"  | 
					
						
							|  |  |  |  |  "foo" + "bar"  // concatenates the strings and returns "foobar"  | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-10 20:26:23 -08:00
										 |  |  |  | _提示:_有一个方便的 <a href='https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Increment' target='_blank' rel='nofollow'>[增量]</a>(++)运算符,当你将数字加1时,这是一个很好的快捷方式。 | 
					
						
							| 
									
										
										
										
											2018-10-12 16:35:31 -04:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | ## 减法
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | **句法** | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | `a - b` | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | **用法** | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | 2 - 3      // returns -1  | 
					
						
							|  |  |  |  |  3 - 2      // returns 1  | 
					
						
							|  |  |  |  |  false - 5  // interprets false as 0 and returns -5  | 
					
						
							|  |  |  |  |  true + 3   // interprets true as 1 and returns 4  | 
					
						
							|  |  |  |  |  5 + "foo"  // returns NaN (Not a Number)  | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-10 20:26:23 -08:00
										 |  |  |  | _提示:_有一个方便的 <a href='https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Decrement' target='_blank' rel='nofollow'>[减量]</a>(--)运算符,当你用1减去数字时,这是一个很好的捷径。 | 
					
						
							| 
									
										
										
										
											2018-10-12 16:35:31 -04:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | ## 乘法
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | **句法** | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | `a * b` | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | **用法** | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | 2 * 3                // returns 6  | 
					
						
							|  |  |  |  |  3 * -2               // returns -6  | 
					
						
							|  |  |  |  |  false * 5            // interprets false as 0 and returns 0  | 
					
						
							|  |  |  |  |  true * 3             // interprets true as 1 and returns 3  | 
					
						
							|  |  |  |  |  5 * "foo"            // returns NaN (Not a Number)  | 
					
						
							|  |  |  |  |  Infinity * 0         // returns NaN  | 
					
						
							|  |  |  |  |  Infinity * Infinity  // returns Infinity  | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | ## 师
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | **句法** | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | `a / b` | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | **用法** | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | 3 / 2                // returns 1.5  | 
					
						
							|  |  |  |  |  3.0 / 2/0            // returns 1.5  | 
					
						
							|  |  |  |  |  3 / 0                // returns Infinity  | 
					
						
							|  |  |  |  |  3.0 / 0.0            // returns Infinity  | 
					
						
							|  |  |  |  |  -3 / 0               // returns -Infinity  | 
					
						
							|  |  |  |  |  false / 5            // interprets false as 0 and returns 0  | 
					
						
							|  |  |  |  |  true / 2             // interprets true a 1 and returns 0.5  | 
					
						
							|  |  |  |  |  5 + "foo"            // returns NaN (Not a Number)  | 
					
						
							|  |  |  |  |  Infinity / Infinity  // returns NaN  | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | ## 剩余
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | **句法** | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | `a % b` | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | **用法** | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | 3 % 2          // returns 1  | 
					
						
							|  |  |  |  |  true % 5       // interprets true as 1 and returns 1  | 
					
						
							|  |  |  |  |  false % 4      // interprets false as 0 and returns 0  | 
					
						
							|  |  |  |  |  3 % "bar"      // returns NaN  | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | ## 增量
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | **句法** | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | `a++ or ++a` | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | **用法** | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | // Postfix  | 
					
						
							|  |  |  |  |  x = 3;  // declare a variable  | 
					
						
							|  |  |  |  |  y = x++;        // y = 4, x = 3  | 
					
						
							|  |  |  |  |   | 
					
						
							|  |  |  |  |  // Prefix  | 
					
						
							|  |  |  |  |  var a = 2;  | 
					
						
							|  |  |  |  |  b = ++a; // a = 3, b = 3  | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | ## 递减
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | **句法** | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | `a-- or --a` | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | **用法** | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | // Postfix  | 
					
						
							|  |  |  |  |  x = 3;  // declare a variable  | 
					
						
							|  |  |  |  |  y = x--;        // y = 3, x = 3  | 
					
						
							|  |  |  |  |   | 
					
						
							|  |  |  |  |  // Prefix  | 
					
						
							|  |  |  |  |  var a = 2;  | 
					
						
							|  |  |  |  |  b = --a; // a = 1, b = 1  | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | _!重要!_如您所见,您**无法**对`Infinity`执行任何操作。 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-10 20:26:23 -08:00
										 |  |  |  | 资料来源:令人惊叹的<a href='https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators' target='_blank' rel='nofollow'>[MDN]</a>。 |