关于if和==的判断

关于if的判断

在JavaScript中,if的判断是遵循一定原则的。括号内的表达式会被强制转换成布尔类型,输出True 或者是 False。对于不同中类型的表达式JavaScript有不同的输出。

  • 对于类型为Undefined和Null表达式,输出结果为False
  • 对于类型为Object的表达式,直接输出结果为True
  • 对于类型为Boolean的表达式,直接判断结果为True or False
  • 对于类型为Number的表达式,除非是+0、-0或者是NAN结果为False,其余Number输出结果都是True
  • 对于类型为String的表达式,除了空字符结果为False,其余输出都是True

关于==的判断

相比if的判断,在JavaScript中关于==的判断就相对复杂。
例如==的左右分别为X和Y,有如下规则:

  • 若X是Null,Y是Undefined,则输出结果为True
  • 若X是Number,Y是String,则将字符串转换成数字再进行判断
  • 若X是Boolean,Y是其他类型,则先将Boolean转换成数字再进行判断
  • 若X是Object,Y是Number或String,则先将对象转换成字符串或数字,再进行判断
  • 除了上述几种类型,其余的输出结果都是False

对于Number的转换

  • Undefined转换成Number为NAN
  • Null转换成Number为0
  • Boolean类型False转换为0,True转换为1
  • String类型转换Number,若字符串为纯数字字符,如'123',直接转换为123 ;若字符串为除数字以外的字符,全部转换为NAN
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,675评论 0 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,329评论 19 139
  • Javascript 中有6种基本类型(包括 symbol),以及对象类型,他们在不同的运算中会被系统转化为不同是...
    faremax阅读 4,276评论 0 3
  • 前言: 连新在看这本书之前尝试过各种各样的减肥方法均以失败告终,直到遇到《吴君如减肥血泪史》这本书,简单按照书中方...
    连新阅读 8,775评论 0 0
  • "请问一下你们家秤是不是不准呀,我感觉这些草莓没有你们秤显示的那么多呀。" "唉,走吧!买了不就行了吗?" "不行...
    折纸给你看阅读 2,939评论 0 6