我有這樣的代碼:即使未定義,我如何檢查javascript屬性是否爲true?
if (subject.current == true) {
return;
}
如果subject.current
是undefined
我想它繼續,但現在看來似乎當我檢查了真正的失敗。我該如何做到這一點,如果電流沒有定義,它不會誤報?
我有這樣的代碼:即使未定義,我如何檢查javascript屬性是否爲true?
if (subject.current == true) {
return;
}
如果subject.current
是undefined
我想它繼續,但現在看來似乎當我檢查了真正的失敗。我該如何做到這一點,如果電流沒有定義,它不會誤報?
你可以這樣做象下面這樣:
if (subject && subject.current == true) {
return;
}
如果subject
本身undefined/null
下面的代碼執行將繼續。 return
聲明將不會執行。這可以避免「未定義」錯誤。
如果subject
有財產subject.current
並且如果那是真的,則return
語句將執行。直到其他明智的,如果任何一個條件失敗,低於if statement
的代碼將被執行。
希望這是你的期望是什麼.....
你好。我需要的是如果subject.current沒有定義,那麼我需要代碼繼續。換句話說,不做退貨。也許我很困惑,但似乎每個答案都會導致代碼返回。你能否檢查你的答案是否也是這種情況。謝謝。 –
在這種情況下,您只需要將條件'&&''和'而不是'||'OR或。查看我更新的代碼。 – RajeshKdev
如果它是不確定的則是不正確的。您需要檢查or操作符的可能條件。
if (typeof subject.current === "undefined" || subject.current == true)
你好。我需要的是如果subject.current沒有定義,那麼我需要代碼繼續。換句話說,不做退貨。也許我很困惑,但似乎每個答案都會導致代碼返回。你能否檢查你的答案是否也是這種情況。謝謝。 –
如果你想讓它繞過'if',那麼什麼都不要做。您的原始代碼將會正常工作。 (「主題」沒有定義,但你詢問的是「當前」)。 – Quentin
if (subject.current != undefined && subject.current == true) {
return;
}
這應該檢查屬性已設置或者如果它是別人真的會繼續
你好。我需要的是如果subject.current沒有定義,那麼我需要代碼繼續。換句話說,不做退貨。也許我很困惑,但似乎每個答案都會導致代碼返回。你能否檢查你的答案是否也是這種情況。謝謝。 –
嗨我修改我的答案只執行檢查.current如果對象被定義。如果它未定義,它將繼續執行代碼並忽略檢查真 –
你可以這樣來做,略減:
if ((subject||{}).current){
//do something
}
//Strict comparison
if ((subject||{}).current === true){
//do something
}
你好。我需要的是如果subject.current沒有定義,那麼我需要代碼繼續。換句話說,不做退貨。也許我很困惑,但似乎每個答案都會導致代碼返回。你能否檢查你的答案是否也是這種情況。謝謝。 –
加上'|| subject.current == undefined' – depperm
JavaScript是可笑這樣,「未定義」在本質上是一樣的,如果你到一些詞跟我說話,這不是我的詞彙,我得問問你定義它我瞭解你對我說的話。 javascript也有null,這對我來說很難給出一個例子,但null本質上是一個表示「沒有已知值」的值,它有點像空白支票,我猜,直到你把一美元的金額放在檢查它確實是一個當前未定值的佔位符。 –
你好,也許我的問題並不清楚,但我需要代碼繼續,而不是做一個返回,如果subject.current是未定義的。對不起,如果我的問題不清楚。 –