javascript中if条件语句if (isNaN(a) || !a)这个条件看不懂是什么意思,求高人指点,不胜感激。。。

2024-12-22 15:38:52
推荐回答(4个)
回答1:

任何变量或值放在 if 条件括号内,都将自动转换为boolean类型

这个if语句意识是:如果变量 a 未定义undefined、或者是空字符串、或者是空对象null、或者是数字 就执行 if { //Code }
----------------------------------------------------------------------------------------------------------
if (a 是一个合法数字 || !a用来判断变量未定义、空字符串、数字0和NaN、空对象)
!a : 将a转换为一个 boolean 的简写方式,各类型转换成boolean值规范如下:

数据类型 true false
Number 任何非0数字值 0和NaN
String 非空字符串 ''(空字符串)

Object 任何对象 null

Undefined n/a undefined

-----------------------------------------------------------------------------------------------------------
补充一句:各类型都可以相互转换。比如空字符串转换为Number就是 0......建议你看看Javascript类型转换相关资料。你就懂了。

回答2:

if (isNaN(a) || !a)的意思是:如果a是合法数字或者不是a的值的话就执行这一段

if (!year || !month || !date)的意思是:如果不是year的值 或者不是month的值或者不是date的值的话

就执行这一段

回答3:

isNaN(a)好像是判断变量非空,!year if(year==false) ,貌似是这样的吧

回答4:

||是或的意思
!非的意思