我的IVR應用程序以JS對象和數組的形式接收業務數據。JavaScript:檢查對象字段是否未定義而未檢查對象是否未定義
customerData.customerList[customerIndex].customerName
現在,在某些情況下,客戶名稱是不確定的,因爲整個對象是不確定的:例如,如下我們的一個客戶的名字被訪問。眼下,爲了趕上這一點,我有一個檢查被不確定的每個級別一些的嵌套邏輯,最後檢查前最後:
if (typeof customerData != 'undefined' &&
typeof customerData.customerList &&
typeof customerData.customerList[customerIndex] != 'undefined' &&
typeof customerData.customerList[customerIndex].customerName != 'undefined')
{
//do something awesome with customer name, here
}
有沒有做到這一點更容易(清潔?)的方式,而不必檢查對象上的每個字段?
謝謝。
如果還沒有用'var'聲明''customerData',你仍然需要'typeof'檢查。 – 2011-04-29 18:37:34
你是對的,但之後可以避免測試'undefined'到邏輯的任何級別 - 或者 – Imran 2011-04-29 18:40:27
你的方法很聰明,它讓我想起了我曾經在遍歷由Web服務返回的XML文檔時使用的一種方法:-) +1。 – 2011-04-29 18:42:14