任何变量或值放在 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类型转换相关资料。你就懂了。
if (isNaN(a) || !a)的意思是:如果a是合法数字或者不是a的值的话就执行这一段
if (!year || !month || !date)的意思是:如果不是year的值 或者不是month的值或者不是date的值的话
就执行这一段
isNaN(a)好像是判断变量非空,!year if(year==false) ,貌似是这样的吧
||是或的意思
!非的意思