假如你照旧不大白这行的寄义那就回过甚再温习一下。留意:你也许思量直接运行ball0.Ball("..."),可是它不会起浸染的,因为ball0并没有一个叫做Ball("...")的属性,而且它也不知道你毕竟想作些什么。
添加属性当我们象上面那样利用要害字new建设一个工具的时候,一个新的Object被建设了。我们可以在建设之后给这个工具添加属性(就仿佛我在上面那样添加属性name。而接下来的问题就是假如我们建设了这个工具的别的一个实例,我们得象下面那样再次给这个新工具添加这个属性。)
Example DT3 (creates 3 ball objects)
Language:javascript, parsed in: 0.013 seconds, using GeSHi 1.0.7.12
function Ball()
{
}
var ball0=new Ball(); // ball0 此刻指向了范例Ball的一个新实例
ball0.name="ball-0"; // ball0 此刻有一个属性"name"
var ball1=new Ball();
ball1.name="ball-1";
var ball2=new Ball();
alert(ball0.name); // 输出 "ball-0"
alert(ball1.name); // 输出 "ball-1"
alert(ball2.name); // 哦,我健忘给ball2添加“name”了!
我健忘给ball2添加属性name了,假如在正式的措施中这也许会激发问题。有什么好步伐可以自动增加属性呢?嗯,有一个:利用this要害字。this这个词在function中有出格的意义。它指向了挪用函数的谁人工具。让我们看看下面的另一个示例,这时候我们在结构函数中添加上这些属性:
Example DT4
Language:javascript, parsed in: 0.011 seconds, using GeSHi 1.0.7.12
function Ball(message, specifiedName)
{
alert(message);
this.name=specifiedName;
}
var ball0=new Ball("creating new Ball", "Soccer Ball");
alert(ball0.name); // prints "Soccer Ball"