在我的代碼中是否有任何錯誤esp var newpoint [0] = new Point;。我wnat知道如何做空中接力在JavaScript面向對象的JavaScript
function Point()
{
var x;
var y;
}
var length = 1;
var arrayindex;
var newpoint[0] = new Point;
newpoint[0].x = 10;
newpoint[0].y = 10;
for(i=0 ; i<10; i ++)
{
newpoint[length].x = 10*i;
newpoint[length++].y = 10*i;
}
for(arrayindex in newpoint)
{
alert('x='+newpoint[arrayindex].x +'y='+newpoint[arrayindex].y);
}
編輯:感謝所有。我想出了兩個代碼,需要知道哪一個更適合任何sugesstion和protips。這兩個工作
function Point()
{
this.x;
this. y;
}
var length = 0;
var newpoint = [];
for(i=0 ; i<10; i ++)
{
newpoint[length] =new Point();
newpoint[length].x = 10*i;
newpoint[length++].y = 10*i;
}
for(arrayindex in newpoint)
{
alert('x='+newpoint[arrayindex].x +'y='+newpoint[arrayindex].y)
}
和
var length = 0;
var newpoint = [];
for(i=0 ; i<10; i ++)
{
newpoint[length] = {};
newpoint[length].x = 10*i;
newpoint[length++].y = 10*i;
}
for(var arrayindex in newpoint)
{
alert('x='+newpoint[arrayindex].x +'y='+newpoint[arrayindex].y)
}
你仍然在構造函數中使用var,它不會工作,你必須使用this.x,因爲我在我的帖子下面顯示。它工作的原因是因爲當你在代碼中稍後分配它們時創建x和Y屬性,但是如果將來添加默認值,它將不起作用。 – 2011-01-19 12:50:16