Javascript 中函数各成员总结

//私有和特权成员在函数的内部,它们会被带到函数的每个实例中
//公有的原型成员是对象蓝图的一部分,适用于通过new关键字实例化的该对象的每个实例
//静态成员只适用于对象的一个特殊实例

function myConstructor(message){
	//公有属性,实例可访问的属性
	this.myMessage = message;

	//私有属性 (用var命名)
	var separator = '-';
	var myOwner = this;

	//私有方法
	function alertMessage(){
		//alert(this.myMessage)  
		//this指由alertMessage函数创建实例
		//所以这里要用myOwner,指向由myConstructor创建的实例
		alert(myOwner.myMessage);
	}
	alertMessage();

	//特权方法(也是公有方法,可以访问私有属性和方法)
	this.appendToMessage = function(string){
		this.myMessage += separator + string;
		alertMessage();
	}

	//公有方法,实例可访问的方法
	myConstructor.prototype.clearMessage = function(){
		this.myMessage = '';
	}

	//静态属性 (实例不可访问)
	myConstructor.name = 'Jeff';

	//静态方法 (实例不可访问)
	myConstructor.alertName = function(){
		//这里的this指的是myConstructor本身
		alert(this.name);
	}
}