06-JavaScript基础-赋值运算和自增自减
赋值运算符
- 简单赋值运算符: = 
- 复合赋值运算符: +=、-=、*=、/=、%= 
- 简单赋值运算符 - 格式: 变量 = 数据; - // 将等号右边的常量10赋值给左边的变量numvar num = 10;// 将等号右边的变量num中存储的值赋值给左边的变量valuevar value = num; 
- 赋值运算符左边只能是变量 - 10 = 20; // 错误写法 var num = 10; 20 = num; // 错误写法 
- 多个赋值运算符可以组成 - 赋值表达式, 赋值表达式具备右结合性- // 从右至左计算// 先将10赋值给变量c, 然后将变量c中存储的值赋值给变量b// 然后将变量b中存储的值赋值给变量a, 最后a,b,c存储的都是10a = b = c = 10; 
 
- 复合赋值运算符: - += 加后赋值 变量+=表达式 如:a+=3;即a=a+3 
- -= 减后赋值 变量-=表达式 如:a-=3;即a=a-3 
- *= 乘后赋值 变量=表达式 如:a=3;即a=a*3 
- /= 除后赋值 变量/=表达式 如:a/=3;即a=a/3 
- %= 取模后赋值 变量%=表达式 如:a%=3;即a=a%3 
 
- 复合赋值表达式运算 - 格式: 变量 复合赋值运算符 表达式; 如: a *= 1 + 2; 
- 由于赋值运算符是右结合性, 所以会先计算等号右边, 然后再进行复合运算 - var value = 5; value *= 2 - 2; // 等价于 value = 5 * (2 - 2);console.log(value); // 0// 设想如果先计算复合运算符结果是什么?value = (5 * 2) - 2 = 10 - 2 = 8 
 
自增运算符
- 自增、自减运算符介绍 - 在程序设计中,经常遇到“i=i+1”和“i=i-1”这两种极为常用的操作。 
- JavaScript语言为这种操作提供了两个更为简洁的运算符,即++和--,分别叫做自增运算符和自减运算符。 
 
- 自增、自减运算符求值过程 - 无论运算符号在前还是在后, 变量在自身基础上都会改变 - var num = 1; num++; // 等价于 num = num + 1;console.log(num); // 2num = 1; ++num;console.log(num); // 2num = 1; num--; // 等价于 num = num - 1;console.log(num); // 0num = 1; --num;console.log(num); // 0 
- 后缀表达式:x++, x--; 先用x的当前值作为表达式的值,再进行自增自减1运算。即“先用 后变”,也就是先用变量的值参与运算,变量的值再进行自增自减变化。 - var a, b; a = 10; b = 20;// ++ 在后, 变量先参与其它运算, 然后再自增var res = (a++) + (b++);console.log(res); // 30a = 10; b = 20;// -- 在后, 变量先参与其它运算, 然后再自减res = (a--) + (b--);console.log(res); // 30console.log(a); // 9console.log(b); // 19 
- 前缀表达式:++x, --x; 其中x表示变量名,先完成变量的自增自减1运算,再用x的值作为表 达式的值;即“先变后用”,也就是变量的值先变,再用变量的值参与运算。 - var a, b; a = 10; b = 20;// ++ 在前, 变量先自增, 然后再参与其它运算res = (++a) + (++b);console.log(res); // 32console.log(a); // 11console.log(b); // 21a = 10; b = 20;// ++ 在前, 变量先自增, 然后再参与其它运算res = (--a) + (--b);console.log(res); // 28console.log(a); // 9console.log(b); // 19 
 
- 练习 
求i和j最后的结果 i=1; i++; j = i++ ; j =++i ; j = i--;
求p和q最后的结果var i = 5, j = 5, p, q; p=i++ + i++ + i++; q = ++j + ++j+ ++j;
作者:极客江南
链接:https://www.jianshu.com/p/cd5c35d72215
共同学习,写下你的评论
评论加载中...
作者其他优质文章
 
                 
             
			 
					 
					