javascript自定义对象类型名称

时间:2014-05-16 02:05:32

标签: javascript

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

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

var test = new calendarDay(new Date());
console.log(typeof test); //Object

但是,如果我在Chrome中执行此操作:

console.log(test);

chromeconsolescreenshot

Chrome会显示我的customObject的确切名称。我可以在javascript中执行此操作吗?

2 个答案:

答案 0 :(得分:0)

不确定这是否可以帮到你。 为自定义函数obj。命名。

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

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

答案 1 :(得分:0)

您正在寻找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并没有完全支持它。查看MDN Docs

上的完整兼容性表格