微信小程序(false问题)

今天在集成wx.showModal的时候

发现了一个问题,微信小程序中的boolean类型的false

function empty(key) {
  if (key == null || key == '' || key == 'null' || key.length == 0) {
    return true
  } else {
    return false
  }
}

这是自己写的判断空方法

结果将boolean类型的false穿进去了,结果竟然是true!


经过多次尝试发现


在小程序中   boolean类型的false和空字符串竟然是相等的



我以为是变量的问题,于是。。。。

直接log(false == '')

然而结果一样   还是true

我不信  再试

log(false =="")   双引号

log("" = false)   双引号

log(false =="")   反过来

结果都是true

我一脸懵逼,可能是我姿势储备太少了。


于是我有了个大胆的想法

总结:

  log('true是否等于字符串"1"?')


  log(true == "1")


  log('false是否等于字符串"0"?')


  log(false == "0")


  log('false是否等于空字符串?')


  log(false == "")


  log('false是否等于0?')


  log(false == 0)


  log('true是否等于1?')


  log(true == 1)


  log('parseInt(false)等于什么?')


  log(parseInt(false))


  log('parseInt(true)等于什么?')


  log(parseInt(true))


输出结果:

true是否等于字符串"1"?
 true


false是否等于字符串"0"?
true


false是否等于空字符串?
true


false是否等于0?
true


true是否等于1?
true


parseInt(false)等于什么?
NaN


parseInt(true)等于什么?
NaN



你可能感兴趣的:(微信小程序)