欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入理解邏輯表達(dá)式的用法 與或非的用法

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

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

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

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

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

第三個(gè)層次的理解,其實(shí)也簡單,當(dāng)語句中的左操作數(shù)是假值時(shí),就不對(duì)語句的右操作數(shù)進(jìn)行運(yùn)算了,直接返回左操作數(shù)作為表達(dá)式的運(yùn)算結(jié)果;當(dāng)左操作數(shù)是真值時(shí),將右操作數(shù)的值返回,作為表達(dá)式的運(yùn)算結(jié)果,

舉個(gè)例子如下:

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

這樣就好理解了

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

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

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

舉個(gè)例子

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

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

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

舉個(gè)例子

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

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

邏輯非(!)

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

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

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

有時(shí)候我們需要對(duì)一個(gè)變量查檢其是否存在或者檢查值是否有一個(gè)有效值,就使用!!,

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

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

相關(guān)文章

  • JavaScript程序中的流程控制語句用法總結(jié)

    JavaScript程序中的流程控制語句用法總結(jié)

    條件判斷和循環(huán)是程序中的基本執(zhí)行流程控制方式,這里我們落實(shí)到具體語句,來看一下JavaScript程序中的流程控制語句用法總結(jié)
    2016-05-05
  • JavaScript中l(wèi)ength屬性的使用方法

    JavaScript中l(wèi)ength屬性的使用方法

    這篇文章主要介紹了JavaScript中l(wèi)ength屬性的使用方法,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-06-06
  • javascript數(shù)組定義的幾種方法

    javascript數(shù)組定義的幾種方法

    這篇文章主要介紹了javascript數(shù)組定義的幾種方法,一般來說分為隱式創(chuàng)建、直接實(shí)例化、創(chuàng)建數(shù)組并指定長度、后來為了方便直接使用json格式定義數(shù)組,這里腳本之家小編就為大家介紹一下,需要的朋友可以參考一下
    2017-10-10
  • 基于javascript 閉包基礎(chǔ)分享

    基于javascript 閉包基礎(chǔ)分享

    閉包向來給包括JavaScript程序員在內(nèi)的程序員以神秘,高深的感覺,事實(shí)上,閉包的概念在函數(shù)式編程語言中算不上是難以理解的知識(shí)
    2013-07-07
  • 徹底理解js面向?qū)ο笾^承

    徹底理解js面向?qū)ο笾^承

    這篇文章主要介紹了js面向?qū)ο笾^承的相關(guān)知識(shí),以及分享了讀者弄明白這個(gè)知識(shí)點(diǎn)的學(xué)習(xí)心得,對(duì)此有需要的朋友參考下吧。
    2018-02-02
  • javascript數(shù)組去重方法總結(jié)(推薦)

    javascript數(shù)組去重方法總結(jié)(推薦)

    這篇文章主要介紹了javascript數(shù)組去重方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • js null,undefined,字符串小結(jié)

    js null,undefined,字符串小結(jié)

    還一個(gè)要注意的就是null雖然是Object型 但是它非常特殊,本身存放在stack棧中。你可以理解成它是Object的一種特殊形式
    2010-08-08
  • Javascript入門學(xué)習(xí)第三篇 js運(yùn)算

    Javascript入門學(xué)習(xí)第三篇 js運(yùn)算

    上篇文章講了js中的傳值和傳址 和 函數(shù)的作用域. 這章我們來探討js中的變量,表達(dá)式,和運(yùn)算符 還有一些 js 語句。 升級(jí)中……
    2008-07-07
  • 詳解在網(wǎng)頁上通過JS實(shí)現(xiàn)文本的語音朗讀

    詳解在網(wǎng)頁上通過JS實(shí)現(xiàn)文本的語音朗讀

    這篇文章主要介紹了在網(wǎng)頁上通過JS實(shí)現(xiàn)文本的語音朗讀,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • JavaScript之?dāng)?shù)組(Array)詳解

    JavaScript之?dāng)?shù)組(Array)詳解

    這篇文章主要介紹了JavaScript之?dāng)?shù)組(Array)詳解,本文詳細(xì)講解了JavaScript數(shù)組的創(chuàng)建、檢測(cè)數(shù)組、轉(zhuǎn)化方法、棧方法、隊(duì)列方法、重排序方法、操作方法、位置方法等內(nèi)容,需要的朋友可以參考下
    2015-04-04

最新評(píng)論