我在网页上发现了一个恼人的错误:
date.GetMonth()不是函数
所以,我想我做错了什么。变量date不是date类型的对象如何在Javascript中检查数据类型?我试图添加一个if(date),但它不起作用
函数GetFormattedDate(日期){
若有(日期){
var month=date.GetMonth();
}
}
所以,如果我想编写防御代码并阻止格式化日期(不是一个),我该怎么做
谢谢
更新:我不想检查日期的格式,但我想确保传递给方法getFormattedDate()的参数类型为date
作为通过
typeof date.getMonth==='function'
您可以使用instanceof运算符,也就是说,对于无效日期,它也将返回true,例如newdate('random_string')也是日期的实例
日期实例日期
如果对象跨帧边界传递,则此操作将失败
解决这个问题的一个办法是通过检查对象的类
Object.prototype.toString.call(日期)=='[对象日期]'