Javascript:在对象中中止函数

时间:2013-11-20 18:12:36

标签: javascript function object

不确定这用于: “this.changeName = changeName;”如果我删除此行代码不能正常工作。但这条线似乎什么都不做。

<!DOCTYPE html>
<html>
<body>
<script>
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
this.changeName = changeName;
function changeName(name)
{
this.lastname=name;
}
}
myMother=new person("Sally","Rally",48,"green");
myMother.changeName("Doe");
document.write(myMother.changeName);
</script>

</body>
</html>

4 个答案:

答案 0 :(得分:1)

this.changename将私有changeName函数分配给Objects实例。因此,当您创建类型为person的新对象时,由于changenamethis.changename指定为要执行的函数,因此人员使用方法changeName

答案 1 :(得分:0)

尝试:

function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
this.changeName = function(name) {
this.lastname=name;
}
}

答案 2 :(得分:0)

您也可以使用:

this.changeName = function(name)
{
this.lastname=name;
}

答案 3 :(得分:0)

函数changeName是对象person上的一个方法,您可以在设置时设置该方法     this.changeName = changeName; 这意味着人物对象。

在此处调用之前,您不会使用该功能     myMother.changeName( “Doe的”);

您要将姓氏更改为“Doe”所以myMother.lastname =“Doe”

我有点重复其他人所说的话,但希望它更清楚。