假設我有一個if語句的方法,像這樣:在if內執行代碼之前是否執行所有邏輯或分隔的檢查?
if (foo() || bar()) {
return true;
}
既能foo()
和bar()
都完全評估是否只要有一個條件滿足,如果內執行的代碼,或前處理?
我詢問原因就是我的foo()
和bar()
方法等價物是相當昂貴的計算功能,而如果單獨foo()
滿足的條件,如果我不想執行bar()
。因此,我當前的代碼是沿着線:
if (foo()) {
return true;
}
if (bar()) {
return true;
}
這是必要的,或將在邏輯或分離函數表現得像一個要求?
解釋downvote的評論會很好 - 我的問題真的不清楚或沒有用嗎?我不知道短路,當然這個問題可能對其他人也沒有意識到的有用。 – Quetzalcoatl