2012-06-21 86 views
0

我在檢查是否定義了一個變量。它在Firefox中正常工作,當涉及到Chrome時,它不起作用:檢查未定義的變量是否在chrome中不工作

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

如果變量未定義,則應返回。

我使用的是window[myClass],因爲我從onclick事件中獲取id的名稱,並且使用與id相同的命名變量,如果變量已定義,則else部分應該或者如果未定義,則應該部分應該工作。

+1

定義「不工作」。 – 2012-06-21 06:15:00

+0

似乎在Chrome中工作得很好。 – lanzz

+0

在你的檢查前加上這個:console.log(window [myclass]);並看到o/p – Baz1nga

回答

1

從你問題的最後一句話,聽起來像myClass實際上是文檔中某個元素的ID。

在這種情況下,你應該使用這樣的代碼來檢查,如果這樣的元素確實存在:

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

這將取消該功能時元素這樣的ID不存在。

4

你應該做這樣的事情,檢查window[myclass]是否定義與否:

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

但是,如果我理解正確的問題,你可能會想看看是否存在window[myclass]。通常你做到這一點,像這樣:

if (window.hasOwnProperty(myclass)) { 

而且,是myclass變量或字符串('myclass')?

+0

thanx man你的權利(window.hasOwnProperty(myClass)正在爲我工​​作我新的jQuery和JavaScript不建議任何優秀的視頻教程或任何書籍學習jQuery)任何方式thanx – Anudeep

+0

對我來說,我只是隨着我的學習而學習。我受不了編程書籍...... – Blender

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