检查未在chrome中工作的未定义变量

时间:2012-06-21 06:13:13

标签: javascript

我正在检查是否定义了变量。它在Firefox中正常工作,当涉及到Chrome时,它无法正常工作:

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

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

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

3 个答案:

答案 0 :(得分:4)

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

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

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

if (window.hasOwnProperty(myclass)) {

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

答案 1 :(得分:1)

从问题的最后一句,myClass之类的声音实际上是文档中某些元素的ID。

在这种情况下,您应该使用此类代码来检查此元素是否确实存在:

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

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

答案 2 :(得分:0)

if (typeof window[myClass] !== 'undefined') {
    //do stuff
} else {
    alert('undefined');
}