我想在我的方法中检查变量的类型,如下所示
var prevDate=new Date(2000, 2, 2)
console.log(typeof prevDate);
现在它返回“object”作为类型,但它是日期的类型。如何使用“typeOf”获取prevDate的类型,并且不想使用jQuery.type(prevDate),因为它需要更多的时间来执行。
提前致谢
答案 0 :(得分:1)
您可以通过以下方式获得:
var prevDate=new Date(2000, 2, 2)
console.log(Object.prototype.toString.call(prevDate));
答案 1 :(得分:1)
typeof在原始值(null除外)下运行得非常好。但它没有说明对象类型。 幸运的是,所有JavaScript本机对象都有一个隐藏的[[Class]]属性。它等于数组的“数组”,日期等的“日期”等。 此属性不能直接访问,但toString,从本机Object借用它返回一个小包装,例如:
var toClass = {}.toString
alert( toClass.call( [1,2] ) ) // [object Array]
alert( toClass.call( new Date ) ) // [object Date]
您可以阅读更多here
答案 2 :(得分:0)
一行函数:
console.log( function(prevDate) {
return ({}).toString.call(prevDate).match(/\s([a-zA-Z]+)/)[1].toLowerCase()
});
答案 3 :(得分:0)
Object.toString返回表示对象的字符串。
var prevDate=new Date(2000, 2, 2);
console.log(Object.prototype.toString.call(prevDate));
Output: "[object Date]"