首先碰见  i++ 和 ++i 会一脸蒙蔽 感觉没什么区别,都是相加  , 但是  输出的值是不同!!!

来奉上代码来进行比较

var i = 1;
var a = i++; //a = 1; 此时i为2,但赋给a的是1
var b = ++i; //b = 3

1.前置递增(++): 在变量的前面,先自身执行加法操作后在赋值(++i);

2.后置递增(++): 在变量的后面,先赋值后在执行加法操作(i++);

3.前置递减(--): 在变量的前面,先自身执行减法操作后在赋值(--i);

4.后置递减(--): 在变量的前面,赋值后在执行减法操作(i--);

实在看不懂的话,用最简单的话来讲讲

i++ 和  ++i  从表面看,有没有发现区别???

是不是发现一个i在前,一个i在后!!!

i在前就是说  输出的是 i 本身   但是!!!i 还是会自增1 只是没有赋值   eg:

i = 2;
a = i++;
console.log(a)// a = 2;
console.log(i)// i = 3;

i在后就是说  输出的是 i 自增后的值  并且赋值    eg:

i = 2;
a = ++i;
console.log(a)// a = 3;
console.log(i)// i = 3;

这下应该明白了吧...

最后!一定要记住一点就是  i++和++i  都会自增,只不过i++隐藏了没有表现出了

最新文章

  1. 浅谈tornado项目应用设计
  2. 转:使用DBUnit测试时违反外键约束的解决办法
  3. Data URL简介及Data URL的利弊
  4. 什么是领域模型(domain model)?贫血模型(anaemic domain model) 和充血模型(rich domain model)有什么区别
  5. 转载解决:错误的语法:”XXXX“必须是批处理中仅有的语句
  6. Linux体系结构(五): 文件系统
  7. 使用LKDBHelper 插入相同id时候应该是更新数据而不是插入新的数据
  8. java_jdbc_3层 解耦
  9. 转:Redis 的安装配置介绍
  10. MySQL列:innodb的源代码的分析的基础数据结构
  11. arm指令集
  12. iOS 设置控件圆角、文字、字体
  13. Kafka官方文档翻译——实现
  14. 深入浅出 SSL 管理配置实战
  15. 【C++】C++string类总结
  16. 更换 nodejs npm 镜像为 淘宝 镜像
  17. mysql常用的聚合函数
  18. docker-composer
  19. hdu 6127 Hard challenge(极角/角度排序+枚举+结构体排序新写法)
  20. Redis 之江湖遇险-复制运维及优化

热门文章

  1. [React] Optimistic UI update in React using setState()
  2. 工作笔记5.JAVA图片验证码
  3. Invalid property 'sentinels' of bean class redis spring 错误修改
  4. Lambert/Diffuse 光照模型
  5. The while statement
  6. POJ 3672 水题......
  7. 如何启动和关闭MySQL?(四)
  8. js中字符串下划线转为驼峰
  9. 在ubuntu上使用华为的3G无线上网卡 - usb_modeswitch
  10. 外媒分析:iPhone销量低于预期是中国市场疲软影响的