2016-05-30 5 views
1

これはjavascriptのプロトタイプモデルです。このパターンでは新しいキーワードで使用するコンストラクター関数とは異なり、我々は新しいオブジェクトを作成するために 既存のオブジェクトを使用している は、javacriptのプロトタイプパターンを使用して静的でプライベートなメンバーを実装します

var answerprototype = { 

    name:'ss', 
    get:function fn1() 
    { 
     return "--"; 

    } 
} 

var lifeanswer = Object.create(answerprototype); 

下に示すように、これはJavaScriptでプライベート、パブリックメンバーは、古典的なパターン

を使用して実装する方法であります
function Restaurant() 
{ 
    //private varible 
    var myPrivateVar = 'aaa'; 

    //public variable 
    this.myPublicVar = 'bbbb' 

    //private method 
    // Only visible inside Restaurant() 
    var private_stuff = function() 
    { 
     return "private metho"; 
    } 

    //public method 
    // use_restroom is visible to all 
    this.use_restroom = function() 
    { 
     return "public method" 
    } 

} 

//create object 
var r1 = new Restaurant(); 

r1.myPrivateVar //return undefined 
r1.myPublicVar //return "bbbb" 
r1.private_stuff() //error 
r1.use_restroom() //return "public method" 

これは、古典的なパターン

01を使用してJavaScriptでの静的メンバを実装する方法であります
function Shape(shapeName) 
{ 
    //instance field 
    this.ShapeName = shapeName; 

    //static field 
    Shape.Count = ++Shape.Count; 

    //static method 
    Shape.ShowCount = function() 
    { 
    return Shape.Count; 
    } 

} 

var shape1 = new Shape("circle"); 
var shape1 = new Shape("rectangle"); 
var shape1 = new Shape("Triangle"); 


Shape.ShowCount(); //return 3 

iは、プライベート doesnの、JavaScriptでは

答えて

関連する問題