在js中,轉換成false的有:
undefined null nan '' 0 flase
其他都是true,即使是字串'false'它也是是true
a || b, 條件滿足乙個就可以,如果a是true,那麼b不管是true,false都返回true,因此就不用判斷b了,返回a
如果a是false,就必須要判斷b,就返回b的值,所以不管b是true還是false 都返回b的值
a && b,並且,兩個都要滿足,如果a為false,後面的b不管是true還是false都不會被判斷,返回a的值
如果a為true,就要判斷b,所以不管b是true還是false 都返回b的值
來個複雜的例子(注意一點:在js中&&運算子優先順序大於||)
假設:var a=new object(),b=0,c=number.nan,d=1,e="hello";
alert(a || b && c || d && e); 表示式從左往右執行,先&&後||
1、(b && c):b是false,此時不需要判斷c,因為不管c是true是false,最終結果一定是false,因此返回當前判斷物件b,也就是0;
2、(d && e):d是true,這個時候判斷e,此時不管e是true,是false,返回結果一定是e,e為true,因此返回"hello";
3、(a || b):a是true,此時不管b是true是false,結果都是true,所以不判斷b,所以返回當前判斷物件a,因此返回new object();
4、(a || e):同上,因此返回a。
這個表示式最終結果為a,也就是new object()
python學習之 和
經常會在python中用到 和 這不同於c c 中的指標。在學習django的時候學習了 和 的區別。和 在python中有特殊的含義,它們都和函式有關但是在函式呼叫和函式宣告時卻有著不同的行為。且在此,不同於c c 中的指標。一般來說,無論在函式還是在宣告,單個 號表示元組 列表 出現,而兩個星號...
18 四數之和(JS實現)
給定乙個包含 n 個整數的陣列 nums 和乙個目標值 target,判斷 nums 中是否存在四個元素 a,b,c 和 d 使得 a b c d 的值與 target 相等?找出所有滿足條件且不重複的四元組。注意 答案中不可以包含重複的四元組。示例 給定陣列 nums 1,0,1,0,2,2 和 ...
leetcode三數之和(js實現)
給你乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 請你找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。示例 給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2 最開始的思路是暴...