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

資訊專欄INFORMATION COLUMN

《javascript高級(jí)程序設(shè)計(jì)》筆記:短路運(yùn)算

Vicky / 1990人閱讀

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

短路運(yùn)算是利用邏輯運(yùn)算中的 && 和 || 操作符,對應(yīng)的有兩種不同的短路運(yùn)算類型

|| 短路運(yùn)算

僅當(dāng)前者不成立時(shí)才去執(zhí)行后者

原理:||先計(jì)算第一個(gè)運(yùn)算數(shù),如果可以被轉(zhuǎn)換成true,則返回左邊這個(gè)表達(dá)式的值,否則計(jì)算第二個(gè)運(yùn)算數(shù)。即使||運(yùn)算符的運(yùn)算數(shù)不是布爾值,任然可以將它看作布爾OR運(yùn)算,因?yàn)闊o論它返回的值是什么類型,都可以被轉(zhuǎn)換為布爾值

通常用||短路運(yùn)算來設(shè)置初始值,以下是一個(gè)ajax封裝的例子:

/* 封裝ajax函數(shù)
 * @param {string}options.type http連接的方式,包括POST和GET兩種方式
 * @param {string}options.url 發(fā)送請求的url
 * @param {boolean}options.async 是否為異步請求,true為異步的,false為同步的
 * @param {object}options.data 發(fā)送的參數(shù),格式為對象類型
 * @param {function}options.success ajax發(fā)送并接收成功調(diào)用的回調(diào)函數(shù)
*/
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 () {};
    // ...
}
&&短路運(yùn)算

僅當(dāng)前者成立時(shí)采取執(zhí)行后者

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

通常在回調(diào)中使用&&運(yùn)算,例如:

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

兩種短路運(yùn)算都有一個(gè)共同的特點(diǎn):如果第一個(gè)操作數(shù)能夠決定結(jié)果,那么就不會(huì)再對第二個(gè)操作數(shù)求值

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/84768.html

相關(guān)文章

  • JavaScript 高級(jí)程序設(shè)計(jì)(第三版)筆記

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

    tulayang 評(píng)論0 收藏0
  • JavaScript 高級(jí)程序設(shè)計(jì)(第三版)筆記

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

    leo108 評(píng)論0 收藏0
  • JavaScript 高級(jí)程序設(shè)計(jì)(第三版)筆記

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

    opengps 評(píng)論0 收藏0
  • 讀書筆記(06) - 語法基礎(chǔ) - JavaScript高級(jí)程序設(shè)計(jì)

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

    iOS122 評(píng)論0 收藏0
  • JavaScript高級(jí)程序設(shè)計(jì)筆記:基本概念

    摘要:一寫在前面最近重讀高級(jí)程序設(shè)計(jì),總結(jié)下來,查漏補(bǔ)缺。但這種影響是單向的修改命名參數(shù)不會(huì)改變中對應(yīng)的值。這是因?yàn)閷ο蟮拈L度是由傳入的參數(shù)個(gè)數(shù)決定的,不是由定義函數(shù)時(shí)的命名參數(shù)的個(gè)數(shù)決定的。實(shí)際改變會(huì)同步,改變也會(huì)同步 一、寫在前面 最近重讀《JavaScript高級(jí)程序設(shè)計(jì)》,總結(jié)下來,查漏補(bǔ)缺。 二、JS簡介 2.1 JS組成 ECMAscript:以ECMA-262為基礎(chǔ)的語言,由...

    ygyooo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<