本文實例講述了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é)的有意思的邏輯,也是可以簡化代碼的方法。這樣的邏輯還有很多………………
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
新聞熱點
疑難解答