最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入理解邏輯表達式的用法 與或非的用法

 更新時間:2016年06月06日 14:44:38   投稿:jingxian  
下面小編就為大家?guī)硪黄钊肜斫膺壿嫳磉_式的用法 與或非的用法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

先說邏輯與(&&),它可以從三個層次進行理解

第一個層次最簡單,就是簡單的布爾值之間的邏輯與,就是左值和右值都是true時,返回true,兩邊都是false或者兩邊的值其中一邊是fasle,就返回false;(AND操作);

第二個層次,(false,null,indefined,0,-0,NaN和""這些都是假值,其他所有的值包括對象都是真值),對這些"真值"和"假值"進行AND操作,返回一個"真值"或者"假值";

值得注意的是,(&&)并不返回一直的是布爾值,他會返回第二個層次出現(xiàn)的真值或者假值,,但是這些"真值"和"假值"到底是什么值呢?所以引入第三層的理解

第三個層次的理解,其實也簡單,當語句中的左操作數(shù)是假值時,就不對語句的右操作數(shù)進行運算了,直接返回左操作數(shù)作為表達式的運算結果;當左操作數(shù)是真值時,將右操作數(shù)的值返回,作為表達式的運算結果,

舉個例子如下:

var o={s:1};       //創(chuàng)建一個對象 
var p=null;         //創(chuàng)建了一個null 
o&&o.s            //返回1,應為o是真值,所以返回o.s的值 
p&&p.x            //返回null,應為p是假值,所以不去計算p.x,直接返回p的值 <BR>o&&o.b;           //這樣會拋出一個類型錯誤異常,因為o為真值,需要返回o.b,但是o.b并不存在, 

這樣就好理解了

雖然&&可以用來返回真值和假值,但是大多數(shù)情況下,真值就是true,假值就是false;

再說一下邏輯或(||),舉一反三,邏輯與也有與邏輯或類似的三個層次理解,就不詳細寫了

邏輯與最常用的方法是從一群備選的操作數(shù)中選出一個真值的表達式

舉個例子

var min =min_value||sum.min_value||100;

先找到min_value,如果它沒有定義,那就在sum對象中查找,如果還沒有,只能給它賦值一個死值100,

這種方法通常用在函數(shù)中給參數(shù)設置默認值

舉個例子

function add(a,b){
   b=b||0;
   return a+b;  
}

當不對b設置初始值時,b等于0;add函數(shù)返回的就是a+0,也就是a的值;

邏輯非(!)

他的目的是將操作數(shù)的布爾值進行求反,例如:如果x是真值,!x返回false,如果x是假值,!x返回true。

返回布爾值時,已經(jīng)將這些真值啊,假值啊轉換成了布爾值,再對其進行求反。

這里介紹一種!的常見用法

有時候我們需要對一個變量查檢其是否存在或者檢查值是否有一個有效值,就使用!!,

例如,檢測一個從一個函數(shù)返回的值student是否是個有效值,就使用  !!student,如果他返回是true,那么他就是一個有效值。

以上這篇深入理解邏輯表達式的用法 與或非的用法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

封开县| 永登县| 独山县| 锦州市| 饶平县| 新丰县| 湾仔区| 遂平县| 南江县| 武义县| 类乌齐县| 庆城县| 龙川县| 鹤山市| 古浪县| 天台县| 株洲县| 延寿县| 寻乌县| 长沙市| 敦化市| 苗栗市| 出国| 会东县| 盖州市| 布拖县| 德惠市| 德安县| 八宿县| 山阴县| 松阳县| 临夏市| 巴马| 长阳| 哈巴河县| 西乌珠穆沁旗| 县级市| 盈江县| 年辖:市辖区| 贺州市| 陆川县|