寫RN項(xiàng)目時(shí)經(jīng)常會(huì)遇到邏輯判斷問題,而js 中的&& 和 || 卻和安卓中的存在很大區(qū)別侣诵。
&&使用
如果 A && B 贮庞,首先會(huì)判斷A A為false 直接返回B ;如果A為true 返回B
|| 使用
如果 A || B 筝蚕,首先會(huì)判斷A A為false 直接返回B ;如果A為true 返回A
使用場(chǎng)景
如果是在if ( )中铺坞,會(huì)轉(zhuǎn)換成Boolean類型起宽,不是在判斷語句中直接返回對(duì)應(yīng)的A或者B
為空情況:0 NaN null ' ' undefined
alert((1 && 3 || 0) && 4); //結(jié)果4 ①
alert(1 && 3 || 0 && 4); //結(jié)果3 ②
alert(0 && 3 || 1 && 4); //結(jié)果4 ③
分析:
語句①:1&&3 返回3 => 3 || 0 返回 3 => 3&&4 返回 4
語句②:先執(zhí)行1&&3 返回3,在執(zhí)行0&&4返回0济榨,最后執(zhí)行結(jié)果比較 3||0 返回 3
語句③:先執(zhí)行0&&3 返回0坯沪,在執(zhí)行1&&4返回4,最后執(zhí)行結(jié)果比較 0||4 返回 4
注:非0的整數(shù)都為true擒滑,undefined腐晾、null和空字符串”" 為false。