JavaScript:自增和自减

news/2024/7/8 4:30:45

JavaScript:自增和自减

我一直以为我已经搞明白了自增和自减,直到有一次遇到一道题,我才发现我对于自增和自减并没有完全掌握。

来看看下面这道题:

 var a = 2;

  console.log(a++ +a+ ++a+ a+ --a +a-- + ++a);

你知道答案是多少吗?(最后在告诉你们)

下面我先介绍一下JavaScript中的自增和自减

自增、自减:

自增(自减)分为两种,一种是申明一个变量,比如a,然后进行a++a–)操作,另一种则是进行**++a**(–a)操作。

其实,加号和减号在前在后作用是一样的,都是对变量实行加1或减1,但也存在着特殊的时候,比如:
- 当自增自减遇到了运算或者输出的时候是有区别的
- 符号在前的先运算后输出
- 符号在后的先输出再运算
举个例子,比如:

var a = 1;
console.log(a++);   //得到的结果为1
console.log(a);     //得到的结果为2

再比如:

var a = 4;
console.log(--a);   //得到的结果为3
console.log(a);     //得到的结果为3

然后,我们回到上面那道题,

题目中,

① 先进行了 a++ 操作,所以第一个a的值为 2

② 第二个a没进行自增自减,但由于第一个a自增了,所以第二个a的值为3

③ 第三个a进行 ++a 操作, 所以第三个a的值为 4

④ 第四个a 的值为4

⑤ 第五个a进行 --a 操作,所以第三个a的值为 3

⑥ 第六个a进行 a-- 操作, 所以第三个a的值为 3

⑦ 第三个a进行 ++a 操作,所以第三个a的值为 3

最后的值为22,你算对了吗?


http://www.niftyadmin.cn/n/2404684.html

相关文章

c# XML序列化与反序列化

原先一直用BinaryFormatter来序列化挺好,可是最近发现在WinCE下是没有办法进行BinaryFormatter操作,很不爽,只能改成了BinaryWriter和BinaryReader来读写,突然想到能不能用XML来序列化?于是在网上查了些资料便写了些实…

清晰易懂的了解JavaScript中的数据类型转换

清晰易懂的了解JavaScript中的数据类型转换 一、判断数据类型的两种方法: 1、 typeof (检测的数据) ​ var a "hello world";var b 6.5;// 检测a的数据类型console.log(typeof(a)); //string//检测a,b的数据类型console.log(typeof(a…

JavaScript:计算两个数之间奇数的个数

JavaScript&#xff1a;计算两个数之间有几个奇数 给你两个非负整数low和high&#xff0c;其中0 < low < high < 10^9, 请返回两个数之间&#xff08;包括二者&#xff09;奇数的 个数 /*** param {number} low* param {number} high* return {number}*/ var countO…

mssql自动备份及自动清除日志文件教程

1、每日自动备份 强烈建议有条件的用户进行此操作&#xff01; 1、打开企业管理器&#xff0c;在控制台根目录中依次点开Microsoft SQL Server--SQL Server组--双击打开你的服务器 2、然后点上面菜单中的工具--选择数据库维护计划器 3、下一步选择要进行自动备份的数据--下一步…

JavaScript:打印一个等腰三角形

JavaScript&#xff1a;打印一个等腰三角形 for(var i1; i<10; i){for(var j10;j>i;j--){document.write(" "); //打印一个空格&#xff08;占位&#xff09;}for(var k1; k<i; k){document.write("a");}document.write("<br>")…

如何快速的切换状态

移动办公是现代社会的趋势&#xff0c;利用笔记本计算机的网卡接口连入区域网络&#xff0c;马上就可以进入工作状态。但是每个区域网络的设定是不相同的&#xff0c;例如IP地址、通讯闸等等&#xff0c;那么每到一个新的区域网络中&#xff0c;你就需要重新进行设定&#xff0…

2005 交叉表。行转列

2000的就不说了&#xff0c;写2005的。 --1.行转列 If not object_id([tb]) is nullDrop table [tb]Gocreate table tb(姓名 varchar(10) , 课程 varchar(10) , 分数 int)Insert tb Select 张三,语文,60 union allSelect 张三,数学,70 union allSelect 张三,英语,80 union all…

asp阻止灌水留言的方法(随机生成的4位认证码)(

原理:在每次提交留言的时候,要输入随机生成的4位认证码. 以下代码用在ASP 生成随机4位数: <% dim key randomize timer keyInt((8999)*Rnd 1000) %> 在表单里显示: 认证码&#xff1a;<%key%> <input type"text" name"rekey" size"8&q…