第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查 if 語句中是否未定義,導(dǎo)致未捕獲的錯誤,因為 if 中的項目未定義。該怎么辦?

檢查 if 語句中是否未定義,導(dǎo)致未捕獲的錯誤,因為 if 中的項目未定義。該怎么辦?

元芳怎么了 2023-09-28 15:41:14
我正在使用 Oboe.js 將 MongoDB 圖集集合中的數(shù)據(jù)流式傳輸?shù)骄W(wǎng)頁。在 MongoDB JSON 中,某些 _ids 的路徑item.image.filename是圖像的路徑。有些沒有 item.image.filename,因為并非所有流式項目都需要圖像。當(dāng)存在未定義的值并且我在控制臺中看到錯誤時,加載停止。我希望如果沒有存在值,雙簧管將作為其默認(rèn)行為繼續(xù)到下一條記錄。但是,沒有圖像路徑的 _ids 在我用來排除它們的 if 語句中拋出異常。我想明確的是 item.image.filename 不存在,其中沒有任何值或設(shè)置為 null,它只是不存在。據(jù)我對 MongoDB 的了解,讓每個項目都獨一無二的靈活性是它的一大優(yōu)勢。我相信我已經(jīng)用 if 語句檢查了所有的方式,甚至使用了 try catch 塊,但是在編譯時, if 語句本身拋出了這個錯誤:oboe-browser.min.js:5 Uncaught Error: Cannot read property 'filename' of undefined at oboe-browser.min.js:5 。如果未定義,if else 塊將渲染沒有圖像的 html,否則渲染它。解決這個問題的一種方法是item.image.filename為每個記錄添加一個,但我不想,有很多記錄,這是我最后的手段??磥硇枰却拍芙鉀Q這個問題。這是我嘗試過的:if(!item.image.filename) if(item.image.filename === undefined)if(item.image.filename == 'undefined')if(item.image.filename == undefined)if(item.image.filename === 'undefined')if(item.image.filename === null)if(item.image.filename == null)我采取了另一種路線,例如if(item.image.filename !== undefined)帶引號和不帶引號,以及 null 。謝謝您的幫助!
查看完整描述

2 回答

?
米琪卡哇伊

TA貢獻(xiàn)1998條經(jīng)驗 獲得超6個贊

你會想要使用typeof:


if(typeof item !== 'object' || typeof item.image !== 'object' || item.image.filename === undefined){

  console.log("undefined as far as you're concerned");

}


您需要知道的是您無法=== undefined對尚未聲明的變量進(jìn)行測試。但只要對象確實存在,就可以對不存在的對象屬性進(jìn)行測試。


查看完整回答
反對 回復(fù) 2023-09-28
?
冉冉說

TA貢獻(xiàn)1877條經(jīng)驗 獲得超1個贊

嘗試這樣的事情:

if(item.image.filename in this)

或者

if(!(item.image.filename in this))

這是一個對象或數(shù)組


查看完整回答
反對 回復(fù) 2023-09-28
  • 2 回答
  • 0 關(guān)注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號