簡體   English   中英

有人可以向我解釋在調用函數時使用了什么&&嗎?

[英]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)

  1. data:檢查數據是否存在或為null
  2. data.length> 1長度是否大於1。 數據中至少應包含兩個元素。
  3. 返回值JSON.parse(data)它可以是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM