神奇的Javascript

>typeof  NaN
<"number"
//not a number,但它是number type的,NaN 的检测 isNaN。
>9999999999999999
<10000000000000000
//js整数精度15位
>0.5 + 0.1 == 0.6
<true
//小数精度17位
>0.1 + 0.2 == 0.3
<false
//0.1+0.2值为0.30000000000000004.永远不要测定某个特点的浮点数值
//可以通过乘以10或除以10来计算: 0.3
>Math.max()
<-Infinity
// max 是 Math 的静态方法,返回给定的一组数字中的最大值。
// 如果没有参数,结果为[`-bInfinity`]
// 如果给定的参数中至少有一个参数无法被转换成数字,则会返回 [`NaN`]
>Math.min()
<Infinity
// min 是 Math 的静态方法,返回给定的一组数字中的最大值。
// 如果没有参数,结果为[`Infinity`]
// 如果给定的参数中至少有一个参数无法被转换成数字,则会返回 [`NaN`]
>[] + []
<""
//+中空数组转为空字符串,
//在-,*运算中[]被转化为0
>[] + {}
<"[object object]"

>{} + []
<0

>true + true + true === 3
<true

>true - true
<0

>true == 1
<true

>true === 1
>false

>(!+[]+[]+![]).length
<9
//我也看不懂,js是门玄学
>9+"1"
<"91"

>91-"1"
<90

>[] == 0
<true

###在JavaScript中,加法的规则其实很简单,只有两种情况:你只能把数字和数字相加,或者字符串和字符串相加,所有其他类型的值都会被自动转换成这两种类型的值.

2-1
2-2
2-3

参考文章:https://segmentfault.com/a/1190000008038678
参考文章:https://github.com/jawil/blog/issues/1
原文链接:yinzhuo.online

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值