如果需要反复给数字变量加1或是减1,可以使用递增(++)和递减(--)运算符来完成。

在JavaScript中,递增(++)和递减(--)既可以放在变量前面,也可以放在变量后面。

放在变量前面时称为前置递增(递减)运算符,放在变量后面是,可以称为后置递增(递减)运算符。

一、自增++

通过自增运算符可以使变量在自身的基础上加1;

对于一个变量自增以后,原变量的值会立即自增1;

自增符号:++

自增分为两种:1、后置自增(a++);2、前置自增(++a);

(一)、前置递增运算符

++num前置递增运算符,类似于 num = num+1,

先自加,后返回值

var num = 10;
console.log(++num); //++num 先自加
console.log(num); //返回值

(二)、后置递增运算符

num++后置递增,就是自加1,类似于 num+1,但是 num++ 写起来更简单。

先返回原值,后再自加1

var num = 10;
console.log(num++); //num++ 先返回原值 10
console.log(num); //num++ 先返回原值再加1,num为11

a++的值等于原变量的值(自增前的值)

++a的值等于原变量自增后的新值。

 实例:

a++是在原值的基础上自增(a=20,a++=20);

++a是在一次自增过后的基础上再自增(a=21,++a=22);

a相当于自增了两次(a=20+1+1=22);

所以 a++ + ++a + a=20+22+22=64

 实例2

var a = 10;
++a;//++a 为11,a为11
var b = ++a + 2;//++a 为12
console.log(b)

实例3

var c=10;
c++; //c++为11,c为11
var d = c++ + 2;//c++ 为11,c为12
console.log(d);

 实例4

var e = 10;
var f = e++ + ++e;//e++为10,e为11,所以++e为12
console.log(f);

二、自减- -

通过自减可以使变量在自身的基础上减一;

自减符号--

自减分为两种:1、后- -(a--);2、前- -(--a);

相同点:a-- 和 --a 都会立即使原变量的值自减一;

不同点:a-- 和 --a的值不同。

a- -是变量的原值(是自减前的值);

--a是原变量的新值(自减后的值);

前置递增(减)和后置递增(减)总结

  前置递增(减)和后置递增(减)运算符可以简化代码的编写,让变量的值+1/-1比以前更加简单

  单独使用是,运算结果相同

  与其他代码联用时,执行结果会不同

  后置:先原值运算,后自加自减(先人后己)

  前置:先自加,后运算(先己后人)

  开发时,大多使用后置递减/增,并且代码独占一行。

 实例:

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JS</title>
</head>
<body>
<script>
var a=10,b=20;
var c=a++;
console.log("a="+a);
console.log("c="+c);
c=++a;
console.log("a="+a);
console.log("c="+c);
c=b--;
console.log("c="+c);
console.log("b="+b);
c=--b;
console.log("c="+c);
console.log("b="+b);
</script>
</body>
</html>

JavaScript自增和自减的更多相关文章

  1. JavaScript自增、自减

    JavaScript自增.自减运算符与表达式语法 var i++; var-- 声明变量 i-- 变量名 ++ -- 自增运算符 JavaScript自增.自减运算符与表达式 JavaScript自增 ...

  2. Javascript自增、自减运算符

    JavaScript自增.自减运算符与表达式语法 var i++; var-- 声明变量 i-- 变量名 ++ -- 自增运算符 JavaScript自增.自减运算符与表达式 JavaScript自增 ...

  3. javascript中的自增与自减

    一直都对自增与自减的执行顺序有点糊涂,今天查了资料,来总结一下 a++(a--),就是指当时计算a,当下一次使用这个变量的时候才执行++或者-- ++a(--a),就是指当时就计算++或者-- 例1: ...

  4. JavaScript基础之变量的自增与自减

    一.自增(++) ⑴什么是自增? 通过自增运算符可以使变量在自身的基础上加一: 对于一个变量自增以后,原变量的值会立即自增一: 示例: <!DOCTYPE html> <html l ...

  5. js实现购物车数量的增加与减少,js实现购物车数量的自增与自减

    js实现购物车数量的增加与减少,js实现购物车数量的自增与自减 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E ...

  6. 自增或自减例子:i++和++i的相同点和不同点

    /* Name:++i和i++的区别 Copyright: By.不懂网络 Author: Yangbin Date:2014年2月15日 02:40:27 Description:熟悉前自增或自减的 ...

  7. C++自增和自减运算符(--和++)

    在C和C++中,常在表达式中使用自增(++)和自减(--)运算符,他们的作用是使变量的值增1或减1,如:++i(在使用i之前,先使i的值加1,如果i的原值为3,则执行j=++i后,j的值为4)--i ...

  8. C语言之自增和自减运算符

    一 自增和自减 自增(++):就是给自己的值再加1 自减(--):就是给自己的值减1 tips: ++(--)可以放在前面,也可以放在后面,效果都是一样,都是会给自身+1(-1) 前缀++(--):会 ...

  9. Java基础知识(一) 自增、自减运算符

    .d1 { border-style: none } .d2 { border-style: solid } .d3 { border-style: dotted } .d4 { border-sty ...

随机推荐

  1. cross appdomain access

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. 【Qt开发】如何将内存图像数据封装成QImage V1

    如何将内存图像数据封装成QImage 当采用Qt开发相机数据采集软件时,势必会遇到采集内存图像并进行处理(如缩放.旋转)操作.如果能够将内存图像数据封装成QImage,则可以利用QImage强大的图像 ...

  3. springcloud(一)

    Spring Cloud是什么鬼? Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理.服务发现.断路器.智能路由.微代理.控制总线. ...

  4. docker--docker 容器操作

    6 docker 容器操作 容器是 docker 镜像的运行时实例. 6.1 创建容器 docker run [options] image command [ARG...]options选项: ‐i ...

  5. [ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Cannot access nexus-aliyun (http://maven.aliyun.com/nexus/content/groups/public) in off

    这个错误是将work offline打勾引起的. 这个是离线工作模式,相当于断网,远程的jar会拉不下来.

  6. 05: jwt原理&使用

    1.1 COOKIE使用和优缺点   参考博客:https://baijiahao.baidu.com/s?id=1608021814182894637&wfr=spider&for= ...

  7. 通过编写串口助手工具学习MFC过程——(二)通过“打开串口”按钮了解基本操作

    通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...

  8. js实现计算器效果

    <!DOCTYPE html> <html> <!-- Created using jsbin.com Source can be edited via http://j ...

  9. 解决Java线程池任务执行完毕后线程回收问题

      转载请注明出处:http://www.cnblogs.com/pengineer/p/5011965.html         对于经常使用第三方框架进行web开发的程序员来说,Java线程池理所 ...

  10. 根据日志来源的不同生成不同的index索引

    使用filebeat收集系统日志,不同应用的日志,然后把这些日志传输给Logstash,再然后交由elasticsearch处理,那么如何区分不同的日志来源呢? filebeat.yml配置文件中不启 ...