古怪的javascript

看到了一个有趣的网站,https://jsisweird.com/,记录了25个古怪的JavaScript问题,学习一下

1. true + false

在这里插入图片描述
True等于1,False等于0,相加等于1

2. [,].length

在这里插入图片描述

原因分析

js数组中两个连续逗号中间可以认为有一个undefined,所以答案是3

3. [1, 2, 3] + [4, 5, 6]

在这里插入图片描述

js中两个数组相加则会得到一个字符串,答案是"1,2,34,5,6"

4. 0.2 + 0.1 === 0.3

在这里插入图片描述
这个问题就好理解了,浮点数运算造成0.1+0.2不等于0.3

5. 10,2

js中逗号运算式的结果是最终一个式子的结果, 答案是2

6. !!""

在这里插入图片描述

空字符串在js可以认为是false,所以答案是false

7. +!![]

在这里插入图片描述

js中空数组空true,故答案为1

8. !!!true

在这里插入图片描述
很好理解答案为false

9. true == “true”

在这里插入图片描述
不同类型作比较,结果为false

10. 010 - 03

在这里插入图片描述
js将0开头的数字识别为八进制数字,010的十进制等于8,答案为5

11. “” - - “”

在这里插入图片描述

js中空字符串会转换为0,第一个减号为减法运算,第二个减号为负号,答案为0

12. null + 0

在这里插入图片描述
js中null会转换为0,答案为0

13. 0/0

在这里插入图片描述
js中结果为非数字类型,答案为NaN

14. 1/0 > Math.pow(10, 1000)

在这里插入图片描述
js中1/0和Math.pow(10, 1000)都是无穷大,两者应该相等,答案为false

15. true++

在这里插入图片描述
提示语法错误

16. “” - 1

在这里插入图片描述

答案为-1

17. (null - 0) + “0”

在这里插入图片描述
数字和字符串相加按字符串拼接处理

18. true + (“true” - 0)

在这里插入图片描述
不同类型相加结果为NaN

19. !5 + !5

在这里插入图片描述
两个false相加,结果为0

20. [] + []

在这里插入图片描述
数组相加结果为空字符串

21. NaN === NaN

在这里插入图片描述

NaN和任何类型都不相等,包括自己

22. NaN++

在这里插入图片描述
答案:NaN

23. undefined + false

在这里插入图片描述
undefined转换为数字为NaN,答案:NaN

24. +0 === -0

在这里插入图片描述
0和0是相等的,答案为true

25. - “” + + “1” * null - [,]

在这里插入图片描述
- ""为0
+ “1” * null为0
[,]为0

0+0-0,结果为0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

llc的足迹

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

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

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

打赏作者

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

抵扣说明:

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

余额充值