几个简单的JS题,我竟然做错了,还是两遍……

  1. 问题1

JS代码如下:

var a = 10;
alert((a++) + a);
alert(++a);

那么输出的值会是多少?
正确答案第一次是21,第二次是12,有多少人跟我一样第一反应是20和21呢?
其实原理很简单,自己多想一想就能明白;
在第一个ALERT中,a++后的值还是10,然后立刻自增1,此时再执行+a时它的值已经是11了,然后11 + a 的值是21;
在第二个alert中,此时a的值是11,a的值是11,a的值是11,自己犯迷糊的地方说三遍,++a的值自然就是12了。
那么下面的代码输出应该是多少?

alert(a++);
alert(++a);

自然是10和12了,其实如果先看后面的代码,再看第一段代码,估计出错的人就少了吧。
还有这个

  1. 问题2
var a = 0/0;
var b = 0/0;
alert(a == b);

答案应该是false,原因很简单:0/0返回Nan,再JS中,NaN和其他任何值永远不相等,自然也包括NaN自己

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

低音钢琴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值