javascript自定义对象类型名称

javascript自定义对象类型名称,javascript,Javascript,我想知道如何在javascript中获取自定义对象的名称 var calendarDay = function (date) { //someCode } var test = new calendarDay(new Date()); console.log(typeof test); //Object 但是,如果我在Chrome中执行此操作: console.log(test); Chrome显示我的customObject的确切名称。我可以用javascript做这件事吗?不确

我想知道如何在javascript中获取自定义对象的名称

var calendarDay = function (date) {
   //someCode
}

var test = new calendarDay(new Date());
console.log(typeof test); //Object
但是,如果我在Chrome中执行此操作:

console.log(test);


Chrome显示我的customObject的确切名称。我可以用javascript做这件事吗?

不确定这是否能帮到你。
var calendarDay = function (date) {
   //someCode
}

var test = new calendarDay(new Date());
console.log(typeof test); //Object
为自定义函数obj指定一个名称

var calendarDay = function (date) {
    this.name = 'calendarDay';
}

var test = new calendarDay(new Date());
console.log(test.name);

您正在查找
test.constructor.name
。但是,您应该注意,这只适用于命名函数,而不适用于为变量指定匿名函数的函数表达式

// named function, not function expression
function calendarDay (date) {
   //someCode
}

var test = new calendarDay(new Date());
console.log(test.constructor.name); //"calendarDay"
编辑:

令人大吃一惊的是,@Bergi指出,IE并不完全支持它。请查看

上的完整兼容性表,为什么需要它?@adv12,instanceof返回true或false否?@zerkms,我想确保函数以args形式接收到正确的对象“类型”。
测试calendarDay的instanceof
——这就是你的方法,不需要显式获取名称。@zerkms,我知道我可以这样做。泰。然而,这并没有回答我的问题。我能达到我的要求吗?你应该提到它是非标准的,在至少一个主要浏览器中都不起作用。嘿,我试过了,但不起作用?如果OP的匿名函数不起作用,它根本不起作用…c.constructor.name.length==0@JrChen它只适用于命名函数,而不适用于函数表达式,如
var calendarDay=function(){}