Javascript-クローズド

3368 ワード

クローズドを理解する:
①.クローズドとは、ごみ回収器がメモリから変数を取り除くのを阻止する方法であり、変数を作成する実行環境の外でこの変数1にアクセスできるようにする.
②.クローズドは保存関数によって作成されます.
③クローズドとは、別の関数のスコープにアクセスする変数の関数であり、関数の内部に別の関数を作成します.3
サンプルコード:
example 1:理解①②
var prison = {
    name : 'zidane',
    who : function() {
        var that = this;    //   this  /  ,    
        $.ajax({
            success: function() {
                console.log(that.name);  // Ajax      ,        ,who()         , that         ,  ajax.success     that。
            }
        });
    }

}
example 2:理解③
var Book = (function(){
    //      
    var bookNum = 0;
    //      
    function checkBook(name) {}
    //   /  
    function book(newId) {
        //    
        var name;
        //    
        function checkID(id){}
        //    
        this.getName = function(){};
        //    
        this.id = newId;
        //    
        this.copy = function(){};
        bookNum++; //      
        //   
        this.setName(name);
    }
    //    
    _book.prototype = {
        //      
        isJSBook : false,
        //      
        display : function(){}
    };
    //   
    return _book;

})();
『Single Page Web Apple ations』『美』Mikowski,Josh C.Powell著↩ 『Single Page Web Apple ations』『美』Mikowski,Josh C.Powell著↩ 『JavaScript設計モード』張容銘著によると↩