Chrome 控制台和 Javascript 对象类型

2024-04-26

我想找到 Javascipt 对象的类型(构造函数的名称),但我一直只是用我尝试过的所有方法得到一个通用的“对象”。我在网上搜索过,但没有找到对我有用的 Javascript 方法。它始终只返回对象构造函数类型作为通用“对象”。然而当我在 Chrome 控制台中检查它时,它就在那里盯着我看。我有什么想法可以在 JS 中获取这些信息吗?

附言。我正在使用 Browserify 的要求来分离我的代码(如果这有影响的话)。

我认为这可能是因为 Browserify 的加载方式require代码是因为这是我从 Browserify 加载的构造函数获得的输出:

这是我手动创建构造函数得到的结果:

不管怎样,也不管我如何创建构造函数var Prey = function() {} vs var Prey = function Prey() {}即使 Javascript 似乎不知道,Chrome 开发工具似乎仍然知道构造函数的名称是什么。也许这是因为他们可以以 Javascript 语言无法访问的方式检查虚拟机中的代码,但我想知道我是否遗漏了一些东西。有谁知道在 Javascript 中确定实例类型的另一种方法吗?


你看到的猎物就是你看到的猎物function Prey(){};,因此,函数名称为 Prey。如果你将 Prey 定义为var Prey = function(){};则函数名称为“”;

所以基本上如果你想使用函数名称,你必须给你的构造函数一个名称。var Prey = function Prey(){};

编辑:或者您可能做了这样的变体:

var A = function NAMED(){};
var B = function(){};
B.prototype = Object.create(A.prototype);
var o = new B();

> o 
< B {};

> o.constructor.name
< "NAMED"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 控制台和 Javascript 对象类型 的相关文章

随机推荐