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

JS實現(xiàn)水平遍歷和嵌套遞歸操作示例

 更新時間:2019年08月15日 09:16:47   作者:zhensg  
這篇文章主要介紹了JS實現(xiàn)水平遍歷和嵌套遞歸操作,結(jié)合實例形式分析了javascript遍歷與遞歸相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了JS實現(xiàn)水平遍歷和嵌套遞歸操作。分享給大家供大家參考,具體如下:

程序中存在著一些有意思的邏輯,比如多層嵌套可以用遞歸遍歷,比如同層的if else可以用數(shù)組遍歷。

下面舉例說明,多層嵌套的if else想要遞歸遍歷需要寫成下面的形式,以及用特定形式的遞歸遍歷:

多層嵌套的if else轉(zhuǎn)寫成的函數(shù)

let p1 = false,
p2 = true,
p3 = false;
let test = function() {
    if (p1) {
      return '終止1';
    } else {
      return function() {
        if (p2) {
          return '終止2'
        } else {
          return function() {
            if (p3) {
              return '終止3'
            }
          }
        }
      }
    }
}

對多層嵌套的遍歷:

function yunxing1() {
    while (test()) {
      test = test()
      if (typeof test === 'string') {
        alert(test)
        return '終止'
      }
    }
}
yunxing1()

同層多個if else改寫的函數(shù)以及遍歷方法

let i = 1,
a = 2,
b = 3;
function simpleVlidate() {
    let varr = [];
    varr.push(() => {
      if (i === 1) {
        return '不能等于1'
      }
    })
    varr.push(() => {
      if (a === 2) {
        return '不能等于2'
      }
    })
    varr.push(() => {
      if (b === 3) {
        return '不能等于3'
      }
    })
    return varr
}
let arrs = simpleVlidate();
function yunxing() {
    for (let i = 0, fn; fn = arrs[i++];) {
      if (fn()) {
        alert(fn())
        return;
      }
    }
    console.log(343433333333)
}
yunxing();

以上,總結(jié)的有意思的邏輯,也是可以簡化代碼的方法。這樣的邏輯還有很多………………

PS:這里再為大家推薦一款JS數(shù)組遍歷方式分析對比工具供大家參考:

在線JS常見遍歷方式性能分析比較工具http://tools.jb51.net/aideddesign/js_bianli

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《javascript面向?qū)ο笕腴T教程》、《JavaScript數(shù)學運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)

希望本文所述對大家JavaScript程序設計有所幫助。

相關(guān)文章

  • 再談javascript原型繼承

    再談javascript原型繼承

    Javascript原型繼承是一個被說爛掉了的話題,但是自己對于這個問題一直沒有徹底理解,今天花了點時間又看了一遍《Javascript模式》中關(guān)于原型實現(xiàn)繼承的幾種方法,下面來一一說明下,在最后我根據(jù)自己的理解提出了一個關(guān)于繼承比較完整的實現(xiàn)。
    2014-11-11
  • 探析瀏覽器執(zhí)行JavaScript腳本加載與代碼執(zhí)行順序

    探析瀏覽器執(zhí)行JavaScript腳本加載與代碼執(zhí)行順序

    本文主要基于向HTML頁面引入JavaScript的幾種方式,分析HTML中JavaScript腳本的執(zhí)行順序問題,通過本文給大家分享瀏覽器執(zhí)行JavaScript腳本加載與代碼執(zhí)行順序,對瀏覽器執(zhí)行javascript及執(zhí)行順序相關(guān)知識感興趣的朋友一起學習吧
    2016-01-01
  • JavaScript中Array.map()的使用與技巧分享(附實際應用代碼)

    JavaScript中Array.map()的使用與技巧分享(附實際應用代碼)

    Array.map()適合需要返回新數(shù)組、進行鏈式調(diào)用或不修改原數(shù)組的場景,它與forEach()的區(qū)別在于有返回值,基本語法中,callback函數(shù)處理每個元素并返回新值,本文介紹了JavaScript中Array.map()的使用與技巧分享(附實際應用代碼),需要的朋友可以參考下
    2025-02-02
  • javascript實現(xiàn)數(shù)組扁平化六種技巧總結(jié)

    javascript實現(xiàn)數(shù)組扁平化六種技巧總結(jié)

    這篇文章主要為大家詳細介紹了六種javascript中實現(xiàn)數(shù)組扁平化的技巧,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解下
    2023-12-12
  • JS實現(xiàn)的tab頁切換效果完整示例

    JS實現(xiàn)的tab頁切換效果完整示例

    這篇文章主要介紹了JS實現(xiàn)的tab頁切換效果,涉及javascript基于事件響應動態(tài)操作頁面元素屬性相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • JavaScript 原型鏈學習總結(jié)

    JavaScript 原型鏈學習總結(jié)

    在JavaScript中,一切都是對像,函數(shù)是第一型
    2010-10-10
  • el-upload實現(xiàn)上傳文件并展示進度條功能

    el-upload實現(xiàn)上傳文件并展示進度條功能

    這篇文章主要介紹了el-upload實現(xiàn)上傳文件并展示進度條,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • ES6解構(gòu)賦值(數(shù)組,對象,函數(shù))使用詳解

    ES6解構(gòu)賦值(數(shù)組,對象,函數(shù))使用詳解

    這篇文章主要介紹了ES6解構(gòu)賦值(數(shù)組,對象,函數(shù))使用詳解,JavaScript 中最常用的兩種數(shù)據(jù)結(jié)構(gòu)是 Object 和 Array,解構(gòu)操作對那些具有很多參數(shù)和默認值等的函數(shù)也很奏效,本文通過實例代碼詳細講解需要的朋友可以參考下
    2022-11-11
  • three.js顯示中文字體與tween應用詳析

    three.js顯示中文字體與tween應用詳析

    這篇文章主要給大家介紹了關(guān)于three.js顯示中文字體與tween應用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • js實現(xiàn)Tab選項卡切換效果

    js實現(xiàn)Tab選項卡切換效果

    這篇文章主要為大家詳細介紹了js實現(xiàn)Tab選項卡切換效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10

最新評論

通河县| 屯留县| 泾川县| 靖西县| 桑日县| 孟津县| 安西县| 堆龙德庆县| 仙居县| 攀枝花市| 白银市| 无为县| 昔阳县| 惠州市| 肥城市| 伊宁市| 元谋县| 哈尔滨市| 邮箱| 乐业县| 台安县| 昔阳县| 安宁市| 双鸭山市| 葫芦岛市| 叶城县| 金湖县| 福泉市| 承德市| 东方市| 陈巴尔虎旗| 军事| 磐安县| 上高县| 洮南市| 泊头市| 新民市| 江北区| 肥乡县| 华阴市| 高台县|