想象一个 JavaScript“类” Foo
:
var Foo = function()
{
};
以及该类的一个实例:
var foo = new Foo();
我可以Foo
直接从实例中获取字符串foo
,还是Foo
只是实例化后无法与实例关联的传递变量foo
?
编辑 1 SLaks 建议使用foo.constructor
. 这给出了:
function ()
{
}
如果函数以以下形式定义,则此方法有效:
function Foo()
{}
...但情况可能并非总是如此。
编辑 2尝试skizeey 的方法也不起作用。作为 Slack 的方法,它本质上是一个更完整的尝试,但会产生一个空字符串:""
编辑 3我想知道这是否真的有可能。请注意来自 Chrome 的 JavaScript 控制台的以下记录:
> var Foo = function() {}
undefined
> var foo = new Foo();
undefined
> foo
Foo
在最后一行,Chrome 清楚地知道该对象的类型是Foo
。然而,这可能只是 Chrome 的东西,而不是标准的 JavaScript,甚至无法从语言本身访问。