推荐好文:javascript的函数(6)

假如你照旧不大白这行的寄义那就回过甚再温习一下。留意:你也许思量直接运行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"

 

运行示例

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8590.html