Javascript中對象的聲明和操作

        Javascript 是基於對象的語言,它沒有類的概念,但是可以聲明對象,這時候對象就相當於面向對象當中的類,對象可以整合一系列相關操作,相當於是包含相關操作的一個容器。

        用戶可以自定義對象,聲明對象和相關方法,或者使用系統對象。

        對象的怎麼用:

       一、如果自定義對象首先聲明對象,對象中包含“屬性”和“方法”;有五種方式:

        (1)第一種:Play是一個空的方法,相當於是在內存中開闢了一塊空間,空間會隨着接下去聲明的屬性和方法不斷擴充;

<script>
	function Play(){

	}

	var p=new Play();
	
	//屬性
	p.width=300;
	p.height=200;
	p.num=4;
	p.autotime=3;


	//方法
	p.autoplay=function(){
		alert("play....");
	}
	p.test=function(){
	
	}



alert(p.width);

p.autoplay();
</script>
         (2)第二種:與不用對象,即過程化的使用也沒有太大區別,這兩種方法給人感覺比較零散,不建議使用。
<script>
	var p=new Object();
	
	//屬性
	p.width=300;
	p.height=200;
	p.num=4;
	p.autotime=3;


	//方法
	p.autoplay=function(){
		alert("play....");
	}
	p.test=function(){
	
	}

alert(p.width);

p.autoplay();
</script>

        (3)第三種:推薦使用。寫一個方法,其中用new Object()聲明一個對象,在這個方法中列出所有你需要的屬性和方法,然後返回這個對象。這樣“封裝”起來,看起來不僅工整而且使用起來也比較清晰明瞭,需要的時候直接調用這個Play方法即可。

<script>

function Play(){
	var p=new Object();
	
	//屬性
	p.width=300;
	p.height=200;
	p.num=4;
	p.autotime=3;


	//方法
	p.autoplay=function(){
		alert("play....");
		alert(this.num);
	}
	p.test=function(){
	
	}

	return p;
}

var p=Play();

alert(p.width);

p.autoplay();
</script>
       (4)第四種:聲明對象時,使用默認的this變量。因爲每一個聲明的方法中都有一個默認的this,在這裏this就表示p。

<script>

	function Play(width, height, num){
		this.width=width;
		this.height=height;
		this.num=num;

		this.autoplay=function(){
			alert("this.num");
		}
		this.test=function(){
			
		}
	
	}

var p=new Play(3000, 200, 8);
var pro="";
for(pro in p){
	document.write("p."+pro+"="+p[pro]+"<br>");
}


</script>

        (5)第五種:Json方式:

          在處理Ajax的時候經常用到的方式。

<script>
/*	var p=new Object();
	
	p.name="zhangsan";
	p.age=10;
	p.sex="nan";
*/
	/*
	   json

	    {屬性1:值1,屬性2:值2,,,}	
	  */ 

	var p={name:"zhangsan",age:10, sex:"nan"};

	alert(p.name);
	alert(p["name"]);
</script>	

      

二、使用系統對象:

        如系統中給我們用戶提供了幾個常用對象,如:時間對象(Date)、數學對象(Math)、數字數值對象(number)、數組對象(Array)等等。當我們要使用這個系統對象的時候,我們先去找到相應的對象,然後使用其中已經聲明好的方法,就可以很便捷的完成我們的操作。

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