0

我正在检查是否定义了变量。它在 Firefox 中可以正常工作,而在 Chrome 中则无法正常工作:

if(window[myClass] == undefined)
{
    return;
}

如果变量未定义,它应该返回。

我正在使用window[myClass],因为我从onclick事件中获取 id 的名称,并使用与 id 相同的命名变量,如果定义了变量,则其他部分应该或如果未定义,则如果部分应该工作。

4

3 回答 3

4

你应该做这样的事情来检查是否window[myclass]定义:

if (typeof window[myclass] === 'undefined') {

但是,如果我正确理解了这个问题,您可能正在寻找是否window[myclass]存在。通常你会这样做:

if (window.hasOwnProperty(myclass)) {

另外,是myclass变量还是字符串 ( 'myclass')?

于 2012-06-21T06:16:03.300 回答
1

从您问题的最后一句话来看,听起来myClass实际上是文档中某些元素的 ID。

在这种情况下,您应该使用这样的代码来检查这样的元素是否真的存在:

if (!document.getElementById(myClass))
    return;

当具有此类 ID 的元素不存在时,这将取消该功能。

于 2012-06-21T06:20:11.773 回答
0
if (typeof window[myClass] !== 'undefined') {
    //do stuff
} else {
    alert('undefined');
}
于 2012-06-21T06:16:12.783 回答