日期:2014-05-16  浏览次数:20363 次

新手问个简单的代码!
<!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("Steve","Jobs",56,"green");
myMother.changeName("Ballmer");
document.write(myMother.lastname);
</script>

</body>
</html>



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

这段代码不明白什么意思,this.changeName=changeName;怎么可以把函数这样用啊?

------解决方案--------------------
只是属性名字和方法名相同了而已呀,this.changeName=changeName;第一个changeName是这个类的属性,第二个changeName是这个类的方法。虽然名字相同,事实上是不同的。

你也可以写成this.changeName=test;function test(){....}  这个方法的名字可以任何符合要求的命名。