请问在JS中,this.a=a 这种写法 两个a 分别代表什么?

<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>

这段代码中。this.firstname=firstname;
前面的 firstname 和后面的 firstname 分别代码什么。上面function person() 括号里面的几个,又是this 中前面的,还是后面的。有什么关系?
还有就是this.firstname=firstname;

这个前面和后面的 firstname 必须写的一样么?分别是代表什么含义。

绝地无双
浏览 662回答 2
2回答

潇潇雨雨

这里的person相当于一个类,其他的编程语言用class声明,javascript里用function声明。由于js是若类型编程语言,在person函数内部,this.firstname相当于创建了一个类属性,在person的参数列表中,传入的是形参。给你个例子吧。function&nbsp;person(firstname,&nbsp;lastname){&nbsp;&nbsp;&nbsp;&nbsp;this.firstName&nbsp;=&nbsp;firstname;&nbsp;&nbsp;&nbsp;&nbsp;this.lastName&nbsp;=&nbsp;lastname;}var&nbsp;a&nbsp;=&nbsp;new&nbsp;persion("this&nbsp;is&nbsp;firstName",&nbsp;"this&nbsp;is&nbsp;lastName");console.log(a.firstName);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;this&nbsp;is&nbsp;firstNameconsole.log(a.lastName);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//this&nbsp;is&nbsp;lastName

开满天机

调用a方法时,传递的参数,具体的可以写成 a(this.id),a(this.value),等等
打开App,查看更多内容
随时随地看视频慕课网APP