【发布时间】:2013-06-14 16:40:16
【问题描述】:
这个问题确实很简单,但我不能google或duckduckgo答案,可能是因为99%的初学者教程都涉及创建一个Person具有name属性的对象(与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
【问题讨论】:
-
你可以测试
if( baz.constructor === Bar ),.name不是那么可靠 -
True,+1,或者类似的你可以测试
baz instanceof Bar,但是当你只为一个javascript引擎(例如nodejs)开发时,.name的可靠性不是问题。我更想知道这应该如何工作。 nnnnnn 完整地回答了这个问题。 :)
标签: javascript object constructor instance instanceof