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

資訊專欄INFORMATION COLUMN

閉包的幾個例子

OBKoro1 / 2590人閱讀

摘要:記錄關(guān)于閉包的幾個例子,網(wǎng)上介紹閉包文章很多,暫時就不作解釋。作用域鏈的延伸必須出去全局函數(shù)占位符函數(shù)參數(shù)循環(huán)中的閉包正常輸出的方式迭代器中的閉包這些問題如果都理解,那么閉包應(yīng)該算是比較理解了

記錄關(guān)于閉包的幾個例子,網(wǎng)上介紹閉包文章很多,暫時就不作解釋。

1.作用域鏈的延伸
    var global = 1;
    function outer(){
        var outer_local = 2;
        function inner(){
            var inner_local = 3;
            return inner_local + outer_local + global;
        }
        return inner();     //必須return出去
    }

    inner();    // 6
2.全局函數(shù)占位符
var inner;  //placeholder
var F = function(){
    var b = "local variable";
    var N = function(){
        return b;
    }
    inner = N;
}

F();
inner();   // "local variable"
3.函數(shù)參數(shù)
function F(param){
    var N = function(){
        return param;
    };
    param++;
    return N;
}

var inner = F(123);
inner();   // 124
4.循環(huán)中的閉包
function F(){
    var arr = [], i;
    for(i = 0; i < 3; i++){
        arr[i] = function(){
            return i;
        };
    }
    return arr;
}

var arr = F();
arr[0]();  // 3;
arr[1]();  // 3;
arr[2]();  // 3;

正常輸出0,1,2的方式:

function F(){
    var arr = [], i;
    for(i = 0; i < 3; i++){
        arr[i] = (function(x){
            return function(){
                return x;
            }
        }(i));
    }
    return arr;
}
5.迭代器中的閉包
function setup(x){
    var i = 0;
    return function(){
        return x[i++];
    }
}

var next = setup(["a","b","c"]);
next();  // "a"
next();  // "b"
next();  // "c"

這些問題如果都理解,那么閉包應(yīng)該算是比較理解了

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

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

相關(guān)文章

  • JavaScript:面試頻繁出現(xiàn)幾個易錯點

    摘要:針對于面向?qū)ο缶幊痰摹R驗槊嫦驅(qū)ο缶褪轻槍ο罄又械氖睾騺磉M(jìn)行執(zhí)行某些動作。這就是閉包的用途之一延續(xù)變量周期。把變量放在閉包里面和放在全局變量里面,影響是一致的。 1.前言 這段時間,金三銀四,很多人面試,很多人分享面試題。在前段時間,我也臨時擔(dān)任面試官,為了大概了解面試者的水平,我也寫了一份題目,面試了幾個前端開發(fā)者。在這段時間里面,我在學(xué),在寫設(shè)計模式的一些知識,想不到的設(shè)計模式...

    VincentFF 評論0 收藏0
  • 前端基礎(chǔ)進(jìn)階(六):在chrome開發(fā)者工具中觀察函數(shù)調(diào)用棧、作用域鏈與閉包

    摘要:在的開發(fā)者工具中,通過斷點調(diào)試,我們能夠非常方便的一步一步的觀察的執(zhí)行過程,直觀感知函數(shù)調(diào)用棧,作用域鏈,變量對象,閉包,等關(guān)鍵信息的變化。其中表示當(dāng)前的局部變量對象,表示當(dāng)前作用域鏈中的閉包。 showImg(https://segmentfault.com/img/remote/1460000008404321); 在前端開發(fā)中,有一個非常重要的技能,叫做斷點調(diào)試。 在chrome...

    draveness 評論0 收藏0
  • 模塊化、閉包與立即執(zhí)行函數(shù)的使用、MVC里的V和C

    摘要:模塊化里的和閉包與立即執(zhí)行函數(shù)的使用這篇文章記錄我寫在線個人簡歷過程中學(xué)習(xí)的知識完整代碼暫未完成預(yù)覽地址輪播組件的使用英文官網(wǎng)中文網(wǎng)使用方法模塊化學(xué)習(xí)寫代碼的方法抄運行修改模塊化把對應(yīng)功能放到塊里面這個塊可以是文件或者或者別的等等立即執(zhí) 模塊化、MVC里的V和C、閉包與立即執(zhí)行函數(shù)的使用 這篇文章記錄我寫在線個人簡歷過程中學(xué)習(xí)的知識完整代碼(暫未完成)預(yù)覽地址 輪播Swiper組件的使...

    2501207950 評論0 收藏0
  • javaScript作用域與閉包

    摘要:閉包里面保存的變量只有被方法引用了的變量這個例子里,閉包里只有并沒有。那最后來說說的問題閉包到底是什么閉包是一個作用域。鑒于在的調(diào)試窗口,是放在下面的那閉包這個作用域是個什么范圍被后代方法子方法,孫子方法。。。 首先給js的作用域這個話題打標(biāo)簽:2,var, 全局變量,局部變量,函數(shù),undefined, 作用域提升,賦值不會提升,ReferenceError, 同名覆蓋。打完標(biāo)簽之后...

    Reducto 評論0 收藏0
  • JavaScript 函數(shù)式編程 -- 劃重點了!!!

    摘要:函數(shù)是一等公民在談到函數(shù)式編程的時候,很多時候會聽到這樣一句話函數(shù)是一等公民。變量作用域和閉包變量作用域變量的作用域和閉包作為的基礎(chǔ),在學(xué)習(xí)函數(shù)式編程中是非常重要的,只有理解了它們,你才能更好的去理解我們后面要講到的高階函數(shù)和部分應(yīng)用等。 函數(shù)是一等公民 在談到函數(shù)式編程的時候,很多時候會聽到這樣一句話 函數(shù)是一等公民。那我們?nèi)绾稳ダ斫膺@句話呢? 一等 這個術(shù)語通常用來描述值。所以當(dāng)...

    weizx 評論0 收藏0

發(fā)表評論

0條評論

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