2013-06-28 82 views
-3

的「XXX」如何設置一個條件Uncaught TypeError: Cannot read property 'xxx' of null,XXX包含數據對象遺漏的類型錯誤:無法讀取屬性空

我試圖if (xxx == null){ //do something }但它不工作

大部分apprecaited任何意見!

+0

'console.log(typeof xxx);'return? –

+4

你需要添加更多的上下文,這是沒有意義的現在。什麼是xxx? A片!!! – adeneo

+0

同意@adeneo這使得0意義,因爲是 – SpYk3HH

回答

0

null和undefined沒有屬性,並試圖讓他們的屬性會給你一個錯誤:

null.myproperty;//error 
undefined.myproperty;//error 

null和未定義的評估爲假,但這樣你可以:

if(myObj){ 
    myObj.myproperty; 
} 

如果你想調用的方法,不知道它是否存在,你可以嘗試:

if(myObj&&myObj.myfunction==="function"){ 
    myObj.myfunction(); 
    } 
1

我猜測你這樣做:

if (obj == null){ //do something with obj.xxx; } 

這意味着if語句只執行的代碼,當它null,因此你的錯誤:

Cannot read property 'xxx' of null

因此,解決方案是使用改爲if(typeof obj != 'undefined' && obj != null) {..}

+0

但這會返回一個錯誤http://jsfiddle.net/dcvvR/ –

+0

我認爲解決方案是隱含的,但我現在明確地寫了它。 –

+0

這裏的問題是OP嘗試使用的對象是未定義的,所以在這裏嘗試使用未定義的obj會給出錯誤。檢查控制檯:http://jsfiddle.net/dcvvR/1/ –

相關問題