这个问题确实相当简单,但我无法通过 google 或 duckduckgo 找到答案,可能是因为 99% 的初学者教程都涉及创建一个具有 name
属性的 Person
对象(这与 constructor.name 无关,但会污染搜索结果)。
Object
的实例可以使用 instance.constructor.name 检测对象:
var foo = new Object;
foo.constructor.name; // "Object"
如何在我自己的对象上设置构造函数名称?
var Bar = function(){};
var baz = new Bar;
baz.constructor.name // "" <- Empty string
最佳答案
除了将构造函数定义为设置为匿名函数的变量 Bar
之外,您还可以这样做:
function Bar() {}
或者这个:
var Bar = function ConstructorNameHere() {};
ConstructorNameHere
名称实际上又可以是 Bar
:
var Bar = function Bar() {};
(这应该适用于 Chrome 和 FF,不确定但对 IE 不抱太大希望。)
关于javascript - 如何在自定义对象上指定 .constructor.name?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17169335/