javascript之自增自减典型运算(易错)
JavaScript“自增”运算符与表达式
递增运算符(++)是一个一元运算符,该运算符可以将操作数进行递增操作,即每次增加1.递增运算符要求其操作数必须是变量、对象中的某个属性或数组中的某个元素,并且操作数的类型必须是数字型的。
如果操作数类型不是数字型,递增运算符会将其先转换为数字型数据,再进行递增操作。
递增运算符(自增运算符)根据其相对于操作数的位置有两种不同的递增方式。
1. “前自增”运算符
格式:
++a
“前自增”运算符是先将操作数的值加1,再使用操作数的新值参与表达式的运算。
举例:
var a=10, b;
b=++a;
结果:a=11,b=11
2. “后自增”运算符
格式:
a++
“后自增”运算符是先将操作数的值参与表达式的运算,等表达式的值被引用之后,再将操作数的值加1。
举例:
var a=10, b;
b=a++;
结果:a=11,b=10
提示:当“++”在a前面时(++a),a加1后再参与表达式的运算;当“++”在a后面时(a++),a先参与表达式的运算,然后再加1。
“++”只对a有意义,可以把(++a)或(a++)看成一个整体,只是一个先加1再参与运算,还是先参与运算再加1的问题。
// 案例一
var a = 1;
var b = ++a + ++a;
console.log(b); // 结果为5
var a = 1;
var c = a++ + a++;
console.log(c); // 结果为3
var a = 1;
var d = a++ + ++a;
console.log(d); // 结果为4
var a = 1;
var e = ++a + a++;
console.log(e); // 结果为4
// 案例二
var a = 1;
var b = ++a + ++a; // ==> 先a=a+1得到a=2;然后2 + ++a,然后是a=a+1得到a=3,最后就是2+3=5 ,此时a的值为3
console.log(b); // 结果为5
var c = a++ + a++; // ==> 运算完后a的值为5
console.log(c); // 结果为7
var d = a++ + ++a; // ==> 运算完后a的值为7
console.log(d); // 结果为12
var e = ++a + a++; // ==> 运算完后a的值为9
console.log(e); // 结果为16
JavaScript“自减”运算符与表达式
递减运算符(自减运算符)根据其相对于操作数的位置有两种不同的递减方式,即前自减与后自减。
运算方法同上,这里就不多啰嗦了。
javascript之自增自减典型运算(易错)的更多相关文章
- javascript总结11:JavaScript的自增自减
1 自增自减 1.1 自增写法i++ 作用:在不参与运算的情况下,i++和++i都是在变量的基础加1 var n1 =123; //n1++ 等价于 n1 = n1 +1; ++n1 //等价于 n1 ...
- 运算符:三目运算符,运算符优先级,sizeof,自增自减,取余
一://---------运算符-----------// 1.运算符是告诉编译程序执行特定算术或逻辑操作的符号. 2.按照功能划分: 算术运算符. 关系运算符与逻辑运算符.按位运算符. 3.运算符根 ...
- c中自增自减的妙用
#include <stdio.h> int main() { ; printf("%d,%d,%d,%d",i++;i--;++i;--i); /*运算从右往左运算 ...
- JavaScript易错知识点整理
前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...
- JavaScript 易错知识点整理
本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES ...
- JavaScript易错点转载
前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...
- JavaScript易错知识点整理[转]
前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...
- Java运算符使用总结(重点:自增自减、位运算和逻辑运算)
Java运算符共包括这几种:算术运算符.比较运算符.位运算符.逻辑运算符.赋值运算符和其他运算符.(该图来自网络) 简单的运算符,就不过多介绍使用了,可自行测试.关于赋值运算,可以结合算术运算和位运算 ...
- Java自增自减运算
自增自减运算 //++(自增) --(自减) 一元允运算 int a =3; //a = a+1-----4 int b=a++; //执行完这行代码后,先给b赋值,再自增 System.out.pr ...
随机推荐
- cron 编辑器修改
更改 cron 默认编辑工具 Debian 的 crontab 默认的编辑器是 nano,用起来很不习惯,怎么才能转回 VI 呢? 用如下命令即可: #update-alternatives --co ...
- (中等) HDU 1542 Atlantis,扫描线。
Problem Description There are several ancient Greek texts that contain descriptions of the fabled is ...
- 使用LIBUSB实现和自定义通讯设备通讯--MFC代码在末尾
LIBUSB是一款简单好用的USB通讯开发库,一般HID设备用该库通讯能大大降低开发周期,使用如下,首先需要为设备安装驱动 在libusb的bin目录下有一个inf_wirzed.exe的文件,该文件 ...
- PHP 安装使用 gearman
1.安装服务器端: 官方下载,请到https://launchpad.net/gearmand. yum install boost-devel* gperf* libevent-devel* lib ...
- 三星note4,微信公众号开发,页面闪退
在做微信公众号开发时,使用三星note4测试,有一个select框闪退的问题出现. 出现该问题的原因是该选择框,设置了appearance:none;属性.查找了官方解释是: 所有主流浏览器都不支持 ...
- IOS开发-ObjC-NSString
NSString是oc语言Foundation框架中常用的类,我根据每个方法的功能将NSString的常用方法分为创建字符串.初始化字符串.判断和比较字符串.大写和小写相互转化.字符串的截取.类型转换 ...
- Android动画之translate(位移动画)(转)
转自:http://www.cnblogs.com/bavariama/archive/2013/01/29/2881225.html 上一篇文章讲了 Android的左右滑动切换,实现过程是非常简单 ...
- UVa 10034 - Freckles
题目大意:给出n个点的坐标(x,y),要求用线段将n个点连接起来,求最小的线段和. 最小生成树问题,用Kruskal算法进行求解,其中用到了并查集.将所有的点连接,构成一张图,对每一条边进行编号,两点 ...
- JDBC oracle 错误总结
ORA-28040: No matching authentication protocol jdk:1.8 oracle:12c 使用ojdbc14.jar 报错:ORA-28040: No mat ...
- js原生写的微博留言板有angularjs效果
1.HTML: <!DOCTYPE html><html><head lang="en"> <meta charset=" ...