JavaScript之面向對象學習筆記

JavaScript對象

將相關的變量和函數組合成一個整體,這個整體叫對象,對象中的變量叫做屬性,變量中的函數叫做方法。

JavaScript創建對象的方法

1、單體模式

2、工廠模式

<script type="text/javascript">
	function Person(name,age,job){ 

		var o = new Object();

		o.name = name;
		o.age = age;
		o.job = job; 

		o.showname = function(){
			alert(this.name);
		}

		o.showage = function(){
			alert(this.age);
		}

		o.showjob = function(){
			alert(this.job);
		}

		return o;
	}

	var Tom = Person('tom',18,'engineer');
	var Jack = Person('jack',19,'worker');

	Tom.showjob();
	Jack.showjob();
</script>

3、構造函數

<script type="text/javascript">

	function Person(name,age,job){

		this.name = name;
		this.age = age;
		this.job = job;

		this.showname = function(){
			alert(this.name);
		}

		this.showage = function(){
			alert(this.age);
		}

		this.showjob = function(){
			alert(this.job);
		}
	}

	var Tom = new Person('tom',18,'engineer');
	var Jack = new Person('jack',19,'worker');

	Tom.showjob();
	Jack.showjob();
</script>

4、原型模式

<script type="text/javascript">

	function Person(name,age,job){

		this.name = name;
		this.age = age;
		this.job = job;
	}

	Person.prototype.showname = function(){
		alert(this.name);
	}

	Person.prototype.showage = function(){
		alert(this.age);
	}

	Person.prototype.showjob = function(){
		alert(this.job);
	}

	var Tom = new Person('tom',18,'engineer');
	var Jack = new Person('jack',19,'worker');

	Tom.showjob();
	Jack.showjob();

</script>

JavaScript類的繼承

<script type="text/javascript">

	function Fclass(name,age){

		this.name = name;
		this.age = age;

	}

	Fclass.prototype.showname = function(){
		alert(this.name);
	}

	Fclass.prototype.showage = function(){
		alert(this.age);
	}

	function Sclass(name,age,job){
		Fclass.call(this,name,age);
		this.job = job;
	}

	Sclass.prototype = new Fclass();
	Sclass.prototype.showjob = function(){
		alert(this.job);
	}

	var Tom = new Sclass('tom',18,'engineer');
	Tom.showname();
	Tom.showage();
	Tom.showjob();

</script>	

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章