[英]Can somebody explain to me what && does when used with calling a function?
請解釋一下在調用函數和使用&&
運算符方面做了些什么。
callback(data && data.length > 1 && JSON.parse(data));
另外,哪個值實際傳遞給函數?
我猜回調需要一個布爾值或一個int值。
&&是邏輯和運算符,因此它確定數據是否為非且data.length大於1 AND JSON.parse(data)返回非零,然后表達式將導致1或true傳遞給回調。 如果不滿足任何這些參數,則它將傳遞0或false。
這是一種說明數據是否為真(非空)且其長度> 1然后調用JSON.parse(data)的方法。 如果第一個表達式為真,則僅評估第二個表達式,依此類推。 它相當於
如果(數據)
if(data.length> 1)
回調(JSON.parse(數據));
按照我的說法,只傳遞布爾變量(true / false)
當您了解回調接受的內容時,將會非常清楚。
&&可用於一次評估多個語句。 &&可以被認為是“和”。
所以,真的&& false; 評估為假。
在JavaScript中,如果第一個操作數是假的,則&&返回第一個操作數。 如果第一個操作數是真實的,則返回第二個操作數。
&&
是短路邏輯“ AND ”運算符。 短路意味着僅當前一個解析為true時才會評估表達式的下一個組成部分。 因此,除非data
為true,否則不會計算data.length > 1
,除非data.length
解析為true,否則不會計算JSON.parse(data)
。
最后,一個布爾值被傳遞給該方法callback()
- true
如果所有三個組件都為真:
data
data.length > 1
JSON.parse(data))
......否則就是false
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.