如何获取对象名称?

时间:2012-01-22 09:11:27

标签: javascript

我有以下代码段

function receiver(callback)
{
    console.log( callback );
}

function callback(){}

receiver( new callback() );

OUTPUT: callback {}

是否有一种方法或方法可以从回调参数中获取'回调'?我喜欢得到一个对象的名字。

2 个答案:

答案 0 :(得分:7)

> function callback(){}
undefined
> a = new callback();
[object Object]
> a.constructor.name
callback>

但是,它不适用于任何匿名函数(一切都在标题中):

> callback = function(){};
function () {}
> c = new callback();
[object Object]
> c.constructor.name
(empty string)

答案 1 :(得分:2)

尝试:

function receiver(callback){
    console.log(callback.constructor.name);
}

function callback(){}

receiver(new callback());

查看:javascript introspection in 90 seconds