国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js中的|與 && 運算符詳解

jsyzchen / 909人閱讀

摘要:這個時候我就有點犯迷糊了,為什么邏輯運算符能這么用呢由于是出身,所以對這樣用感覺很奇怪。

這篇文章主要介紹了js中的 || 與 && 運算符詳解,需要的朋友可以參考下

js中邏輯運算符在開發中可以算是比較常見的運算符了,主要有三種:邏輯與&&、邏輯或||和邏輯非!。

當&&和|| 連接語句時,兩邊的語句會轉化為布爾類型(Boolean),然后再進行運算,具體的運算規則如下:

兩邊條件都為true時,結果才為true;

如果有一個為false,結果就為false;

當第一個條件為false時,就不再判斷后面的條件

注意
當數值參與邏輯與運算時,結果為true,那么會返回的會是第二個為真的值;如果結果為false,返回的會是第一個為假的值。

二.

只要有一個條件為true時,結果就為true;
當兩個條件都為false時,結果才為false;
當一個條件為true時,后面的條件不再判斷
注意:當數值參與邏輯或運算時,結果為true,會返回第一個為真的值;如果結果為false,會返回第二個為假的值;

三.

當條件為false時,結果為true;反之亦然。
上代碼說明:

``
``
``
``
`demo`
``
``
``
``
``

補充:邏輯與的優先級是高于邏輯或的;
比如console.log(3||2&&5||0),會先算2&&5的值為5,然后再3||5----3,最后再3||0----3,所以最終結果為3.

補充

表達式a && 表達式b : 計算表達式a(也可以是函數)的運算結果,

如果為 True, 執行表達式b(或函數),并返回b的結果;

如果為 False,返回a的結果;

表達式a || 表達式b : 計算表達式a(也可以是函數)的運算結果,

如果為 Fasle, 執行表達式b(或函數),并返回b的結果;

如果為 True,返回a的結果;

轉換規則:

對象為true;
非零數字為true;
零為false;
非空字符串為true;
空字符串為法false;
其他為false;
例如

var a = obj || " " ; //如果 obj 為空,a就賦值為 " " ;
var a = check() && do(); //如果check()返回為真,就執行do(),并將結果賦值給 a;
其他網友的補充

今天復習js繼承的時候發現了一個問題,先上代碼了

``
 ```
在執行構造函數的時候,無參的構造函數返回的name是"mama",有參數時,實例的name就是參數值了。 >這個時候我就有點犯迷糊了,為什么>邏輯運算符||能這么用呢?
由于是C#出身,所以對js ||這樣用感覺很奇怪。
沒轍,不懂先研究,實驗實驗就知道了。
`var` `b, c, d;`
`b =` `true` `|| 0;``//b=true;`
`c =` `false` `|| 0;``//c=0;`
`d = 1 || 0;``//d=1;`

換成別的呢?

`var` `b, c, d;`
`b = 1-1 || 1+1;` `//b=2`
`c =` `function` `() {` `return` `undefined } ||` `function` `() {` `return` `1};``//c=function();`
`d = c();``//d=undefined`
`var` `b, c, d;`
`b = 1-1 || 1+1;` `//b=2`
`c =` `function` `() {` `return` `1 } ||` `function` `() {` `return` `undefined};``//c=function();`
`d = c();``//d=1`
`b = {} || { a: 1, getA:` `function` `() {` `return` `this``.a}};` `//b=object`
image
`var` `b, c, d;`
`b = { a: 1, getA:` `function` `() {` `return` `this``.a } } || {};` `//b=object`
`c = b.getA();``//c=1;`

通過這幾個實驗,可以看出,JS的||并不是像C#里面的||一樣 單純的返回一個布爾類型。
大家都知道js的布爾類型判定是對象是true,非零是true,非空字符串是true其余的都是false

由此得出
邏輯或

表達式 表達式2 a取值
1 0 表達式1結果值
1 1 表達式1結果值
0 1 表達式2結果值
0 0 表達式2結果值

邏輯與 && :
var a = 表達式1 && 表達式2

表達式1 表達式2 a取值
1 0 表達式2結果值
1 1 表達式2結果值
0 1 表達式1結果值
0 0 表達式1結果值
主要原因是因為短路,邏輯或 在前面有一個ture的時候則不看后面直接停止,邏輯與&&同理。

然后計算賦值和我們平時一樣之獲取最新的一次計算結果值。

例如

b = (1 + 1, 2 + 2, 3 + 3);`//b=6;`

嘛嘛,當然只是猜測。
以上僅供參考。萌新一只,望各位大佬輕批。了解更多

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27536.html

相關文章

  • js中的 && 算符詳解

    摘要:這個時候我就有點犯迷糊了,為什么邏輯運算符能這么用呢由于是出身,所以對這樣用感覺很奇怪。 這篇文章主要介紹了js中的 || 與 && 運算符詳解,需要的朋友可以參考下 一 js中邏輯運算符在開發中可以算是比較常見的運算符了,主要有三種:邏輯與&&、邏輯或||和邏輯非!。 當&&和|| 連接語句時,兩邊的語句會轉化為布爾類型(Boolean),然后再進行運算,具體的運算規則如下: 兩邊條...

    baoxl 評論0 收藏0
  • 詳解Python中位運算的簡單實現

      位運算就是直接對整數在內存中對應的二進制位進行操作,一般是將數字化為二進制數后進行操作。本文將利用Python語言實現位運算,感興趣的可以了解一下  簡介  程序中的數在計算機內存中都是以二進制的形式存在的,位運算就是直接對整數在內存中對應的二進制位進行操作,一般是將數字化為二進制數后進行操作。  應用場景  在常規操作和位運算的操作中使用位運算,可以提升性能。但是會造成代碼難以理解,建議合理...

    89542767 評論0 收藏0
  • nvm安裝|更新|切換|nodejs的命令實例詳解

      nvm(全名node.js version management),是一個node的版本管理工具,它和npm不同點在于,它是依賴包的管理工具。  它主要是用來解決不同項目所需node.js版本不一致時管理的麻煩,舉例,hexo主題,不同的主題需要的nodejs版本不一致,假如沒有管理的話,就要安裝卸載nodejs安裝對應的版本  有了nvm就可以簡單操作node版本的切換、安裝、查看等.  一...

    3403771864 評論0 收藏0
  • Caffe卷積神經網絡視覺層Vision Layers及參數詳解

      此篇文章主要是給大家介紹了Caffe神經網絡視覺效果層VisionLayers及主要參數詳細說明,感興趣的小伙伴可以參考參考一下,希望可以有一定的幫助,祝愿大家多多的發展,盡早漲薪  前言  每一個層都有著的主要參數,如name,type,bottom,top和transform_param請參考我前篇文章:Caffe神經網絡數據訪問層及主要參數  文中只解讀視覺效果層(VisionLayer...

    89542767 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<