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

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

JavaScript中的邏輯運算的返回值(邏輯與&&,邏輯或||,邏輯非!)

標簽:
JavaScript

逻辑与的运算规则,左右两者同为true时,为true;有一者为false时,为false。

但是其返回值并非是返回布尔类型的true和false,而是返回其运算符左右两旁的一个值。

  • 当有一个false时,返回false一侧的值;
  • 当有两个false时,返回运算符之前(左侧)的值;
  • 当有两个true时,返回运算符之后(右侧)的值。

这样既保证了在条件判断语句中,逻辑与的运算规则,又给了一个返回值。逻辑与运算属于短路运算,在按从左向右的运算顺序运算时,如果一个为假,即停止运算,并返回为假的值。

条件判断语句则是对返回值的再一次布尔类型判断。

下面这段代码可以看出其返回值及其位置关系:

var a={};  
var b=56;  
//window.abcdefg为一个不存在的对象,  
console.log(window.abcdefg && null);   //undefined  
console.log(null && window.abcdefg);   //null  
console.log(a && null);                //null  
console.log(window.abcdefg && a);      //undefined  
console.log(a && b);                   //56  
console.log(b && a);                   //object {}  

逻辑或的运算规则,一个为true时为true,一个为false时为false。
其返回值与运算符的关系,正好同逻辑与相反。

  • 当有一个true时,返回true一侧的值;
  • 当有两个true时,返回运算符之前(左侧)的值;
  • 当有两个false时,返回运算符之后(右侧)的值。

逻辑非运算因为只有一个值参与运算,所以比较简单。对运算符右侧的值先转为布尔值,再取反。

然后将结果返回,所以其返回值为布尔值。这一点与逻辑与和逻辑非不同。

有时候在需要一个布尔值时,可以用两次逻辑非运算来获取。

以上内容在《JavaScript高级程序设计》一书中(望远镜封面)有更详细的说明。
转载:http://blog.csdn.net/kevinhjing/article/details/48206787

點擊查看更多內容
2人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

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

幫助反饋 APP下載

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

公眾號

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

舉報

0/150
提交
取消