javascript中的自增与自减
一直都对自增与自减的执行顺序有点糊涂,今天查了资料,来总结一下
a++(a--),就是指当时计算a,当下一次使用这个变量的时候才执行++或者--
++a(--a),就是指当时就计算++或者--
例1:
var c =1;
var b = (c++)+c;
alert(b);//3
此时就是,先计算c++,因为表达式中,还存在一个c,所以此时(暂时将c++看成整体a)a = 1,此后c立即增1即a=2,接着计算第二个c=1,
然后将a+c的值3赋给b
例2:
var c =1;
var b = (++c)+(++c);
alert(b);//5
此时,先计算++c=2,所以第二个c=2,然后第二个c再自增++c=3,然后执行2+3的值5赋值给b
例3:
var c =1;
var b = (c++)+3;
alert(b);//4
此时,显示计算c++的值为1,然后执行1+3=4赋值给b,因为没有第二次使用c,所以答案是4而不是5;
例4:
var c =1;
var b = (c++)+(c++);
alert(b);//3
alert(c);//3
此时就是,先计算c++,因为表达式中,还存在一个c,当计算第二个c时,第一个c自增1变成2,所以最后的答案是2+1=3,而不是4.
但是当alert(c)的时候,有一次使用了c,所以此时c再次自增1得到3.
javascript中的自增与自减的更多相关文章
- [Swift]在Swift中实现自增(++)、自减(--)运算符:利用extension扩展Int类
自增(++).自减(--)运算符主要用在For循环中,Swift有自己更简易的循环遍历方法,而且类似x- ++x这种代码不易维护. Swift为了营造自己的编码风格,树立自己的代码精神体系,已经不支持 ...
- Perl中的自增、自减
自增和自减 perl也支持数值类型的自增和自减操作.不仅如此,还支持字符.字符串的自增.自减. 如果自增(++)和自减(--)符号放在数值的前面,则先增减,再返回: 如果自增(++)和自减(--)符号 ...
- 以php中的自增自自减运算符操作(整型,浮点型,字符串型,布尔型,空类型)数据
// 环境 // // php版本 // PHP 7.0.33-0+deb9u1 (cli) (built: Dec 7 2018 11:36:49) ( NTS ) // Copyright (c) ...
- JavaScript中数组的增删改查
数组的增加 ary.push() 向数组末尾添加元素,返回的是添加后新数组的长度,原有数组改变 ary.uns ...
- JavaScript中数组的增删改查以及应用方式
数组的增加方法 1.push()方法向数组中末尾添加一个元素,原数组改变 var arr=[1,2,3,4]; var arr1=arr.push(6); console.log(arr);//打印出 ...
- Java 自增、自减
i++/i-- 先使用变量的值,然后改变该变量的值: ++i/--i 先改变该变量的值,然后使用变量的值: : i = i++; 最终变量i的值到底是变成1呢还是保持为0呢? java中变量自增.自减 ...
- JavaScript自增和自减
一.自增++ 通过自增运算符可以使变量在自身的基础上加一: 对于一个变量自增以后,原变量的值会立即自增一: 自增符号:++ 自增分为两种:1.后++(a++):2.前++(++a): 共同点:a++ ...
- JavaScript之对数组中元素进行增删改
JavaScript中数据类型无非是:简单类型+复杂类型,什么是简单什么又是复杂.从电脑物理存储上讲,简单就是所见即所得,你看见什么,电脑里面存的就只是什么,并不会因为一些关系(比如引用)而多出一部分 ...
- 【Java】【4】关于Java中的自增自减
摘要:理解j = j++与j = ++j的区别:正确用法:直接用j++,不要用前两种 正文: import java.util.*; public class Test{ public static ...
随机推荐
- 终于懂浏览器里面的cookies和session了
在PHP开发中对比起Cookie,session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制: (Php.Asp.Jsp)---: cookie(客户端)界面没有刷新 ...
- [LintCode] Identical Binary Tree 相同二叉树
Check if two binary trees are identical. Identical means the two binary trees have the same structur ...
- Lrucache缓存技术
在Android中,有一个叫做LruCache类专门用来做图片缓存处理的. 它有一个特点,当缓存的图片达到了预先设定的值的时候,那么近期使用次数最少的图片就会被回收掉. 步骤: (1)要先设置缓存图片 ...
- JAVA代码实现下载单个文件,和下载打包文件
//下载单个文件调用方法 /** * response * imgPath 下载图片地址 * fileName 保存下载文件名称 * @date 2015年4月14日 下午 ...
- Bootstrap css栅格 + 网页中插入代码+css表格
设计达人 http://www.shejidaren.com/30-minimal-app-icons.html CSS栅格: <!DOCTYPE html> <html lang= ...
- 【iCore3 双核心板】例程一:ARM驱动三色LED
实验指导书及代码包下载: http://pan.baidu.com/s/1o6w6Xnk iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- profile
项目开发中,使用git最为版本控制工具,往往会建立开发分支.测试分支和生产分支. 各个分支的数据库url,所依赖的接口url可能不同,直接配置的话,在合并分支时往往出现冲突.使用profile可以有效 ...
- shutter截图工具
安装: 1.打开ubuntu software center,搜索shutter,安装. 使用:
- NGUI 之 不为人知的 NGUITools
static public float soundVolume该属性是全局音效播放音量,按照文档说是用于NGUITools.PlaySound(),那也就意味着我的游戏如果用NGUITools.Pla ...
- hibernate学习(3)——api详解对象(2)
1. Transaction 事务 事务的操作: 开启事务 beginTransaction() 获得事务 getTransaction() 提交事务:commit() 回滚事务:rollback ...