根据 JavaScript Language Specification 的定义,

表达式 A=B
的执行步骤,简单地说,就是:
1. 对等号左边的表达式 A 进行计算,算出最终的结果,必须是参照或变量;
2. 对等号右边的表达式 B 进行计算,得到返回值;
3. 把第2步得到的右边的返回值,赋予第一步中得到的左边的参照或变量。

表达式 A++
的执行步骤是,简单地说,就是:
1. 对 A 进行计算,算出最终的结果,必须是参照或变量;
2. 第一步中得到的参照或变量的值 加一;
3. 整个表达式的返回值是 第二步加一之前,第一步中得到的参照或变量的值。

i=0;
i=i++;

执行步骤如下:

1. 计算等号左边,不用算,结果就是就是变量 i;
2. 对等号右边的表达式 i++ 进行计算;
  2.1. i 是变量,本身不用算; 
  2.2. i++ 的计算时,i 的值被加 1; 
  2.3. 整个 i++ 表达式的计算结果的 返回值是,i被加一之前的值 0。
3. 把第一步中算出的右边的结果 0, 赋予左边的变量 i.

结果 i 的值是 0

最新文章

  1. mysql避免重复插入的三种方法
  2. php入门
  3. linux环境下验证码不显示的几种情况
  4. BitMap 内存使用优化
  5. python标准库 sysconfig模块
  6. Python倒计时器(转)
  7. IOS开发-UI学习-UITextField的具体属性及用法
  8. Android 面向协议编程 体会优雅编程之旅
  9. MulticastSocket 使用
  10. C++程序设计方法3:default修饰符
  11. PHP中new self()和new static()的区别
  12. 用IBM MQ中间件开发碰到的MQRC_NOT_AUTHORIZED(2035)问题
  13. the first blog in 2017——《论作为程序员的我考研》
  14. Fast Failure Detection and Recovery in SDN with Stateful Data Plane
  15. 整除分块学习笔记+[CQOI2007]余数求和(洛谷P2261,BZOJ1257)
  16. C++代理模式
  17. 使用badblocks检测坏块
  18. 【BZOJ】【2626】JZPFAR
  19. mysql09---sql语句优化
  20. LocalStorage漏洞分析

热门文章

  1. 海思arm平台AAC音频转码cpu占用高、效率低的问题解决
  2. Vue学习笔记 ——computed VS methods
  3. 【剑指offer】把二叉树打印成多行,C++实现
  4. JavaScript 中 OnLoad事件用法总结
  5. get、post接口测试-java
  6. HDU - 1142:A Walk Through the Forest (拓扑排序)
  7. 每天一个linux命令:【转载】more命令
  8. web.xml配置详解(2)
  9. 1153 Decode Registration Card of PAT (25 分)
  10. iOS Webview打开不受信的URL