if(xx)和a == b的判断

if对于括号内true/false的判断

  • 对于数字来说,0、0.0、-0.0会被判为false,其余非零数字都会判为true
  • 对于布尔类型直接判断即可
  • 对于字符串来说,空字符串会被判为false,非空字符串会被判为true,空格为非空字符串
  • 对象都会判为true
  • null、undefined都会被判为false

a == b返回值的判断

主要思想将a,b都转换成数字
对于布尔变量存在如下等价关系:

0 == false //返回true
1 == true //返回true
2 == true ///返回false

对于字符串,能转换成数字的就转换成数字,包含字母就不能转换成数字了
对于undefined null只有这两个彼此之间 == 时才返回true,否则和任何其他类型的任何值都不会返回true
对于对象,先尝试调用 .valueOf 方法获取结果。 如果没定义,再尝试调用 .toString方法获取结果

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容