最近遇到短路評估,並有點困惑,因爲我只在上週進入編程階段。根據我的理解,如果在第一個雙管之前發生了什麼,那麼它將停止,並且不會評估雙管之後的情況。例如:使用三元運算符還是短路評估之間的區別?
實施例1:
所以我假設如果存在,那麼分配否則到b b等於一個對象。 我不明白什麼是我將使用這一點,它的不同之處,以三元運營商,是不是短路的評價一樣:
例2:
var a = true;
var b = (a) ? a : {};
爲什麼會一個使用示例1而不是示例2,因爲寫出來的速度並不慢,或者相對於另一個使用速度更快?或者這只是一個愚蠢的問題,也許我錯過了一些東西。如果有人能爲我清楚這將是偉大的。
當第二個操作數有副作用這隻影響。 – Ergwun
使用你想要的任何一個。你已經花在思考上的時間會比打字或執行上的任何累積差異更大。 – 2016-11-04 00:40:57
有點無關,但作爲一個實驗嘗試做'b = a && {};'看看會發生什麼,並試圖理解爲什麼會發生。 –