gpt4 book ai didi

javascript - Chrome 控制台和 Javascript 对象类型

转载 作者:搜寻专家 更新时间:2023-11-01 04:36:41 24 4
gpt4 key购买 nike

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

附言。如果有所不同,我正在使用 Browserify 的 require 来分离我的代码。

enter image description here

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

enter image description here

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

enter image description here

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

最佳答案

您看到的 Prey 是执行 function Prey(){}; 时的 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"

关于javascript - Chrome 控制台和 Javascript 对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27085257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com