1. 程式人生 > 其它 >多個值參與&&與運算子、||或運算子的結果解析

多個值參與&&與運算子、||或運算子的結果解析

技術標籤:JavaScriptjs

或運算子( | | )

之前遇到過這樣的函式

function a(){
	return value1 || value2 || value3
}

查了一下資料

或運算子 || 做了如下的事情:

  • 從左到右依次計算運算元
  • 處理每一個運算元時,都將其轉化為布林值。如果結果是 true,就停止計算,返回這個運算元的初始值
  • 如果所有的運算元都被計算過(也就是,轉換結果都是 false),則返回最後一個運算元

換句話說,就是返回第一個遇到的真值,如果不存在真值,則返回最後一個值

舉例:

alert(1 || 0)	//返回1,1是第一個遇到的真值
alert(0 || false
|| undefined || true) //返回true,true是第一個遇到的真值 alert(0 || false || undefined) //返回undefined,不存在真值,返回最後一個值

與運算子(&&)

與運算子&&與或運算子||相反

  • 從左到右依次計算運算元
  • 在處理每一個運算元時,都將其轉化為布林值。如果結果是 false,就停止計算,並返回這個運算元的初始值。
  • 如果所有的運算元都被計算過(例如都是真值),則返回最後一個運算元。

返回第一個遇到的假值,如果不存在假值,則返回最後一個值

舉例

alert(1 && {} &&
undefined) //返回undefined alert(0 && 1) //返回0 alert(2 && 19 && 3) //返回3