Js 中的i++ 和 ++i 的区别
2024-10-01 19:20:56
首先碰见 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++隐藏了没有表现出了
最新文章
- 浅谈tornado项目应用设计
- 转:使用DBUnit测试时违反外键约束的解决办法
- Data URL简介及Data URL的利弊
- 什么是领域模型(domain model)?贫血模型(anaemic domain model) 和充血模型(rich domain model)有什么区别
- 转载解决:错误的语法:”XXXX“必须是批处理中仅有的语句
- Linux体系结构(五): 文件系统
- 使用LKDBHelper 插入相同id时候应该是更新数据而不是插入新的数据
- java_jdbc_3层 解耦
- 转:Redis 的安装配置介绍
- MySQL列:innodb的源代码的分析的基础数据结构
- arm指令集
- iOS 设置控件圆角、文字、字体
- Kafka官方文档翻译——实现
- 深入浅出 SSL 管理配置实战
- 【C++】C++string类总结
- 更换 nodejs npm 镜像为 淘宝 镜像
- mysql常用的聚合函数
- docker-composer
- hdu 6127 Hard challenge(极角/角度排序+枚举+结构体排序新写法)
- Redis 之江湖遇险-复制运维及优化
热门文章
- [React] Optimistic UI update in React using setState()
- 工作笔记5.JAVA图片验证码
- Invalid property 'sentinels' of bean class redis spring 错误修改
- Lambert/Diffuse 光照模型
- The while statement
- POJ 3672 水题......
- 如何启动和关闭MySQL?(四)
- js中字符串下划线转为驼峰
- 在ubuntu上使用华为的3G无线上网卡 - usb_modeswitch
- 外媒分析:iPhone销量低于预期是中国市场疲软影响的