gpt4 book ai didi

javascript - 如何返回对象接口(interface)名称/类型?

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

是否有获取对象接口(interface)的函数之类的?

喜欢,<p/> = HTMLParagraphElement ,我该如何取回它?

提前致谢!

最佳答案

我认为只有一种方法可以做到这一点:获取所有可用接口(interface)的列表,遍历此列表并使用 instanceof 检查变量值的类型运营商。

这种方式应该像下面这样工作:

var element = ... // here your element comes
var interfaces = [HTMLParagraphElement, HTMLDivElement];
var interface = interfaces.filter(function (x) { return element instanceof x; })[0].toString();

现在你得到类似 function HTMLParagraphElement() { [native code] } 的东西在接口(interface)变量中(如果元素是 <p /> )。我假设这只适用于 V8 (Google Chrome)。现在您可以使用正则表达式来提取接口(interface)名称。

interface.match(/function (.+)\(\)/)[0]

要获取所有接口(interface)的列表,您可以使用以下方法(仅适用于 HTML 元素):

var interfaces = [];
for (var key in window) {
if (key.indexOf('HTML') == 0)
interfaces.push(window[key]);
}

我同意 duri 的回答,所以你不需要枚举所有接口(interface),使用 constructor方法是获取原型(prototype)函数的更简单方法。之后你可以使用我写的正则表达式来提取接口(interface)名称。

关于javascript - 如何返回对象接口(interface)名称/类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7360795/

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