gpt4 book ai didi

javascript - 跨浏览器功能标识

转载 作者:行者123 更新时间:2023-11-28 08:02:46 25 4
gpt4 key购买 nike

我需要测试给定的函数对象是否属于某个类。

在 Firefox 和 Chromium/Chrome 下,我可以创建一个函数名称字典,然后测试 somefunction.name in class_a_functions 是否使用 function.name。这在 IE 中不起作用。

我似乎无法创建函数对象字典来测试函数包含。

实现此目的的跨浏览器方法是什么不涉及从函数的 toString 表示形式中提取名称并将其用作函数标识。here 所示。 ?

最佳答案

您可以应用与其他对象/值相同的过程:迭代集合并将每个值与给定值进行比较。

使用设置的对象:

var haystack = {...};
var needle = someFunction;
var isContained = false;
for (var key in haystack) {
if (needle === haystack[key]) {
isContained = true;
break;
}
}

使用数组作为集合:

var haystack = [...];
var needle = someFunction;
var isContained = false;
for (var i = 0; i < haystack.length; i++) {
if (needle === haystack[i]) {
isContained = true;
break;
}
}

// if indexOf is available:
var isContained = haystack.indexOf(needle) > -1;
// if some is available
var isContained = haystack.some(function(v) { return v === needle; });
<小时/>

相关:

关于javascript - 跨浏览器功能标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25196001/

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