亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

邏輯運算符 || 的運算結果,為什么不是布爾值,而是數值呢?

邏輯運算符 || 的運算結果,為什么不是布爾值,而是數值呢?

正在回答

5 回答

可以看看這篇文章:http://www.tashan10.com/javascript-de-ling-huo-yun-yong/

摘要:

數據類型 ? ????????????轉換為bool后的值(對應的true或false) ? ?

null ? ?????????????? ?????FALSE ? ?

undefined ? ?? ????? FALSE ? ?

Object ? ? ? ? ??? ?? ? TRUE ? ?

function ? ????????? ? TRUE ? ?

0 ? ???????????????????????FALSE ? ?

1 ?????????????? ???????? ?TRUE ? ?

0、1之外的數字 ? ?TRUE ? ?

字符串 ? ???????????????TRUE ? ?

""(空字符串) ? ??????FALSE ? ?

如果&&左側表達式的值為真值,則返回右側表達式的值;否則(如果左側表達式的值為假),則返回左側表達式的值。

如果||左側表達式的值為真值,則返回左側表達式的值;否則(如果左側表達式的值為假),則返回右側表達式的值。

1 回復 有任何疑惑可以回復我~

可以這樣理解,js邏輯或與運算返回值為判斷邏輯返回第一個值或第二值,而由于兩個波爾類型邏輯或與運算返回的一定是布爾類型,故造成這樣的誤解。其底層原理應該是判斷邏輯返回第一個值或第二個值而不是通常我們理解的true or false

0 回復 有任何疑惑可以回復我~

http://blog.csdn.net/kevinhjing/article/details/48206787

作者說的有點含糊,大概意思是邏輯或與運算等式兩邊為布爾類型則返回布爾類型,為其他數據類型返回其他數據類型。兩個都有根據邏輯返回對應的。。

0 回復 有任何疑惑可以回復我~

var a = 0 || 1;

結果 a = 1;

0 回復 有任何疑惑可以回復我~

目前只見過true or false ?;可以把你的代碼貼出來看看

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

邏輯運算符 || 的運算結果,為什么不是布爾值,而是數值呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號