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

資訊專欄INFORMATION COLUMN

《javascript高級程序設計》筆記:短路運算

Vicky / 1986人閱讀

在邏輯運算中,轉換為boolean類型的值后為false的情況: 0、""、null、false、undefined、NaN,其他都為true。

短路運算是利用邏輯運算中的 && 和 || 操作符,對應的有兩種不同的短路運算類型

|| 短路運算

僅當前者不成立時才去執行后者

原理:||先計算第一個運算數,如果可以被轉換成true,則返回左邊這個表達式的值,否則計算第二個運算數。即使||運算符的運算數不是布爾值,任然可以將它看作布爾OR運算,因為無論它返回的值是什么類型,都可以被轉換為布爾值

通常用||短路運算來設置初始值,以下是一個ajax封裝的例子:

/* 封裝ajax函數
 * @param {string}options.type http連接的方式,包括POST和GET兩種方式
 * @param {string}options.url 發送請求的url
 * @param {boolean}options.async 是否為異步請求,true為異步的,false為同步的
 * @param {object}options.data 發送的參數,格式為對象類型
 * @param {function}options.success ajax發送并接收成功調用的回調函數
*/
function ajax(options) {
    options = options || {};
    options.method = options.method.toUpperCase() || "POST";
    options.url = options.url || "";
    options.async = options.async || true;
    options.data = options.data || null;
    options.success = options.success || function () {};
    // ...
}
&&短路運算

僅當前者成立時采取執行后者

原理:&&,它先計算第一個表達式,若為假,就不會去處理第二個表達;否則繼續處理后繼表達式。從左到右選取表達式的第一個為非true的表達式的值,如果一直未找到則返回最后一個表達式的值

通常在回調中使用&&運算,例如:

function fn(callback) {
    // ...
    "function" === typeof callback && callback();
}

兩種短路運算都有一個共同的特點:如果第一個操作數能夠決定結果,那么就不會再對第二個操作數求值

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

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

相關文章

  • JavaScript 高級程序設計(第三版)筆記

    摘要:以上是使用轉換函數方法時會返回的值在用判斷的時候,首先執行了,然后判斷為真或假。對象的遍歷返回一個數組,包括對象自身的不含繼承的所有可枚舉屬性不含屬性的鍵名。 tip:本文含部分Es6語法 1.if(a)的自動轉換 數據類型??? 轉換為true的值??? ?? 轉換為false的值 ? Boolean ?? ? true??????????? ? false ??String? 任何...

    tulayang 評論0 收藏0
  • JavaScript 高級程序設計(第三版)筆記

    摘要:以上是使用轉換函數方法時會返回的值在用判斷的時候,首先執行了,然后判斷為真或假。對象的遍歷返回一個數組,包括對象自身的不含繼承的所有可枚舉屬性不含屬性的鍵名。 tip:本文含部分Es6語法 1.if(a)的自動轉換 數據類型??? 轉換為true的值??? ?? 轉換為false的值 ? Boolean ?? ? true??????????? ? false ??String? 任何...

    leo108 評論0 收藏0
  • JavaScript 高級程序設計(第三版)筆記

    摘要:以上是使用轉換函數方法時會返回的值在用判斷的時候,首先執行了,然后判斷為真或假。對象的遍歷返回一個數組,包括對象自身的不含繼承的所有可枚舉屬性不含屬性的鍵名。 tip:本文含部分Es6語法 1.if(a)的自動轉換 數據類型??? 轉換為true的值??? ?? 轉換為false的值 ? Boolean ?? ? true??????????? ? false ??String? 任何...

    opengps 評論0 收藏0
  • 讀書筆記(06) - 語法基礎 - JavaScript高級程序設計

    摘要:寫在開頭本篇是小紅書筆記的第六篇,也許你會奇怪第六篇筆記才寫語法基礎,筆者是不是穿越了。可移步筆者的文章中替換方式參考文檔高級程序設計作者以樂之名本文原創,有不當的地方歡迎指出。 showImg(https://segmentfault.com/img/bVblGMc?w=600&h=400); 寫在開頭 本篇是小紅書筆記的第六篇,也許你會奇怪第六篇筆記才寫語法基礎,筆者是不是穿越了。...

    iOS122 評論0 收藏0
  • JavaScript高級程序設計筆記:基本概念

    摘要:一寫在前面最近重讀高級程序設計,總結下來,查漏補缺。但這種影響是單向的修改命名參數不會改變中對應的值。這是因為對象的長度是由傳入的參數個數決定的,不是由定義函數時的命名參數的個數決定的。實際改變會同步,改變也會同步 一、寫在前面 最近重讀《JavaScript高級程序設計》,總結下來,查漏補缺。 二、JS簡介 2.1 JS組成 ECMAscript:以ECMA-262為基礎的語言,由...

    ygyooo 評論0 收藏0

發表評論

0條評論

Vicky

|高級講師

TA的文章

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