JS中运算符i++与++i的详细分析
来源:互联网 发布:java调用go语言 编辑:程序博客网 时间:2024/05/19 00:07
新手朋友容易混淆的概念,特提出自己的想法思路,仅供参考,错误之处,还望指出。
请看下面代码:<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title></head><body> <script> var a=10,b=20,c=30; ++a; a++; e=++a+(++b)+(c++)+a++; alert(e); </script></body></html>
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title></head><body> <script> var a=10,b=20,c=30; ++a; a++; e=++a+(++b)+(c++)+a++; alert(e); </script></body></html>
解答此题首先弄明白:i++返回的是自增之前的值,++i返回的则是自增后的值。
如:var i = 1;var a = i++; //a = 1; 此时i先将值1赋给a,然后自己+1,i=2;var b = ++i; //b = 3;此时i先自己+1为3.再给b赋值,b=3;
再看此题:那么++a意思为a=a+1 a为11,此时不涉及运算优先级的问题。
a++意思为a=a+1 a为12 ,此时仍旧不涉及运算优先级的问题。
当e=++a+(++b)+(c++)+a++;时,必须考虑运算级的问题。
此时:++a a先自己+1 然后将值赋给结果:13 a=13
++b b先自己+1 然后将值赋给结果:21 b=21
C++ 先将c值赋给结果:30 c自己+1 c=31
a++ 先将a值13赋给结果:13 a自己+1 a=14
此时所有结果加起来:13+21+30+13=77
的
1 0
- JS中运算符i++与++i的详细分析
- js中i++与++i的区别
- js中i++与++i的区别
- i++与i--的分析
- i++与++i的运算规则
- OC中 (i++)+i 的值得运算
- js中i++和++i的区别
- JS 中 ++i 和i++的区别
- i++与++i的探讨(效率分析)
- 对i++与++i的分析
- i++与++i的结果分析
- 详细解析i++与++i
- VC 中关于a=(i++)+(++i)+(i++)的分析
- c++ 中 `++i` 与 `i++` 在运算表达式中的优先级
- java中i++与++i的区别
- java中i++与++i的区别
- java中i++与++i的区别
- java中i++与++i的探讨
- netty 对象序列化传输示例
- C语言获取当前系统时间
- Kibana 可视化监控报警插件 KAAE 的介绍与使用
- JSP页面在被访问的时候的执行过程
- 作用域链&原型链
- JS中运算符i++与++i的详细分析
- CentOS 7下【zabbix-agent】
- linux环境安装CRF++及python接口
- hue3.9 集成 hive1.1.0
- Hadoop、storm和Spark的区别、比较
- jQuery.ajax 跨域请求webapi设置headers的解决方案
- Java直接调用Python
- Guava学习之cache
- 彩笔笔记2016/12/1——多态