【发布时间】:2012-10-08 07:47:55
【问题描述】:
我使用的是 Chrome v22.0.1229.94 m,这并不重要,但以防万一:-)
我不关心可移植性。只要它适用于 Chrome(和 Safari)我就很高兴。
我有两个函数,foo 和 bar:
var foo = function() {
...
}
function bar() {
...
}
如果我使用它们创建对象:
f1 = new foo();
b1 = new bar();
我可以得到 bar 的构造函数名称,但不能得到 foo:
> f1.constructor.name ==> ""
> b1.constructor.name ==> "bar"
但在这两种情况下,当我检查变量 f1 和 b1 时,DevTools 控制台都会显示名称“foo”和“bar”。
如何像 DevTools 一样提取 f1 的 name foo?
【问题讨论】:
-
这很有趣。这就像 devtools 将匿名函数命名为任意。也请观看:
var foo = function myfoo(){}; new foo(); ==> myfoo -
@Mohsen 感谢截屏和您的支持评论。
-
这是一个很棒的问题,我不敢相信我自己不可能从函数中获得这个名字......我需要它:D 有没有运气找到解决方案??
标签: javascript constructor google-chrome-devtools