SOURCE

var Beverage = function(param){
			var boilWater = function(){};
			var brew = param.brew || function(){};
			var pourInCup =  param.pourInCup || function(){};
			var addCondiments = param.addCondiments || function(){};

			var F = function(){};
			F.prototype.init = function(){
				boilWater();
				brew();
				pourInCup();
				addCondiments();
			}
			return F
		}

		var Coffee = Beverage({
			brew:function(){
				console.log(1-1)
			},
			pourInCup:function(){
				console.log(1-2)
			},
			addCondiments:function(){
				console.log(1-3)
			}
		})

		var Tea = Beverage({
			brew:function(){
				console.log(2-1)
			},
			pourInCup:function(){
				console.log(2-2)
			},
			addCondiments:function(){
				console.log(2-3)
			}			
		})

		var coffee = new Coffee();
		coffee.init();

		var tea = new Tea();
		tea.init();
console 命令行工具 X clear

                    
>
console