使用Date()構造日期對象,如果傳入非日期格式的字符串,仍然能構造出Date對象。
在chrome控制台
>var date = new Date("hello"); >date Invalid Date >typeof date “object” >date instanceof Date true
示例里使用非日期格式"hello"構造Date對象
- 直接輸出date,結果為Invalid Date
- 使用typeof判斷date的類型,得到結果為“object”
- 使用instanceof檢測date是否為Date類型,結果為true。
使用Date的getTime()方法,Invalid Date對象返回的是一個NaN,可以利用這點來檢查Date對象是否為Invalid Date。
方法:
function isValidDate(date) { return date instanceof Date && !isNaN(date.getTime()) }
另外date.getTime(),也可以改為date.valueOf()