javascript静的変数と実例的変数

1070 ワード

網易公開課Stnfordプログラミング方法学の第九課を見たばかりです.
static静的変数とinstance variableのインスタンス変数というと、jsも次のように研究しているに違いないと思います.
静的変数staticはclassのすべてのobjectが共有しているので、静的変数staticでは構造関数の外でしか定義できませんが、同じクラスにしか共有できません.ですから、閉パック(構造関数で上部変数を読み取ることができます.)を使って直ちに関数を実行します.
 
   
   
  
var MyClass = (function () {
	var privateVariable = '      ';//           
	return function() {
		this.name = privateVariable;
		this.setName = function (name) {
			privateVariable = name;
		};
		this.getName = function (name) {
			return privateVariable;
		};
	
	};
})();

var o1 = new MyClass();
var o2 = new MyClass();
o1.name //       
o1.setName('   ');
o1.name //      
o1.getName() ;//   

var o2 = new MyClass();
o2.getName(); //    
静的変数を共有するのはクラスName.nameです.
プライベートインスタンス変数
function MyClass() {  
    var x = 3;  
    this.getValue = function () {  
        return x;  
    };  
}  
MyClass.prototype._getValue = function () {  
    return x;  
};  
  
var o1 = new MyClass();  
o1.getValue(); //3  
o1._getValue() ;//undefined