gpt4 book ai didi

javascript - 无法获取使用 eval() 评估的字符串的类型

转载 作者:行者123 更新时间:2023-11-30 08:38:01 26 4
gpt4 key购买 nike

我试图获取使用 eval() 评估的字符串的类型,但没有成功。

变量是存储在数组中的字符串,其中包含我想知道是否已定义的可能对象的名称。

有人可以帮忙吗?

问题是 if ( typeof eval( x[i][0] ) !== 'undefined' ) 这是我的代码:

    var infoslider = [
["revapi5", "el-masnou", "sant-andreu-de-llavaneres"],
["revapi3", "sant-andreu-de-llavaneres", "cardedeu"],
["revapi10", "cardedeu", "eudald-carbonell"],
["revapi9", "arenys-de-mar", "canet-de-mar"]
];
var x = infoslider;
for (var i = 0; i < x.length; i++) {
if ( typeof eval( x[i][0] ) !== 'undefined' ) {
vesa(x[i][0], x[i][2]);
}
}

我收到“ReferenceError:revapi5 未定义”

最佳答案

不要使用 eval,试试这个:

typeof window[ x[i][0] ] !== 'undefined'

取自this answer

更新:

如果您的变量不是全局存储的,您可以将 window 替换为它们存储在其中的任何对象(假设它在范围内)...如果是同一个对象,则 this 应该可以工作。

@vol7ron 还提出了一个更好的建议,即使用 .hasOwnPropery 而不是检查未定义。

关于javascript - 无法获取使用 eval() 评估的字符串的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29700342/

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