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

資訊專欄INFORMATION COLUMN

閉包的幾個例子

OBKoro1 / 2591人閱讀

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

記錄關于閉包的幾個例子,網上介紹閉包文章很多,暫時就不作解釋。

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.全局函數占位符
var inner;  //placeholder
var F = function(){
    var b = "local variable";
    var N = function(){
        return b;
    }
    inner = N;
}

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

var inner = F(123);
inner();   // 124
4.循環中的閉包
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"

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

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

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

相關文章

  • JavaScript:面試頻繁出現幾個易錯點

    摘要:針對于面向對象編程的。因為面向對象就是針對對象例子中的守候來進行執行某些動作。這就是閉包的用途之一延續變量周期。把變量放在閉包里面和放在全局變量里面,影響是一致的。 1.前言 這段時間,金三銀四,很多人面試,很多人分享面試題。在前段時間,我也臨時擔任面試官,為了大概了解面試者的水平,我也寫了一份題目,面試了幾個前端開發者。在這段時間里面,我在學,在寫設計模式的一些知識,想不到的設計模式...

    VincentFF 評論0 收藏0
  • 前端基礎進階(六):在chrome開發者工具中觀察函數調用棧、作用域鏈與閉包

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

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

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

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

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

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

    摘要:函數是一等公民在談到函數式編程的時候,很多時候會聽到這樣一句話函數是一等公民。變量作用域和閉包變量作用域變量的作用域和閉包作為的基礎,在學習函數式編程中是非常重要的,只有理解了它們,你才能更好的去理解我們后面要講到的高階函數和部分應用等。 函數是一等公民 在談到函數式編程的時候,很多時候會聽到這樣一句話 函數是一等公民。那我們如何去理解這句話呢? 一等 這個術語通常用來描述值。所以當...

    weizx 評論0 收藏0

發表評論

0條評論

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