判断

一、if判断

if(条件){语句}
判断条件会强制转换成布尔类型

类型 结果
undefined false
null false
Boolean 直接判断
number +0,-0或者 NaN位false,其余为true
string 空字符串为false,其余为true
object true

○ 注意:

  • 空白字符串" "也为true,
  • []空的数组也是对象,因此是true

二、 ==的判断

x==y

x y 结果
null undefined true
Number String x==toNumber(y)
Boolean (any) toNumber(x)==y
Object String or Number to Primitive(x)==y
otherwise otherwise false

==先往数字上转换,然后再判断
toNumber

type Result
Undefined NaN
Null 0
Boolean ture=>1,false=>0
String "abc"=>NaN,"123"=>123

toPrimitive
对于Object类型,先尝试调用.valueOf方法获取结果,如果没定义,再尝试调用.toString方法获取结果

○ 注意:

  • " " 转数字是0,
  • " " 转布尔是true,
  • !'' ''!先转换成布尔类型,再转数字
    ● ● ●
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,401评论 0 13
  • if(xx) 判断 什么是 if(xx) 判断? 所谓的 if(xx) 判断,即是对括号中的 xx 或者说表达式通...
    饥人谷_LS阅读 613评论 0 0
  • if(xx) if后的括号里的表达式会被强制转换为布尔类型 number a = 1if(a){console.l...
    无人问津的呢喃阅读 1,218评论 0 0
  • if和==这两个判断方式虽然都是通过布尔值来判断结果的,但是这两个判断方式的原理还是有很大差距的。 if(xx)的...
    寿木阅读 1,154评论 0 0
  • 一只饕餮爱上了将军。 她化成人形,来到了将军面前,晚上月光很浓,她悄悄趴在城墙垛口上,替睡着的将军挡住月光。 守城...
    我跟你去二次元阅读 395评论 0 0

友情链接更多精彩内容