所以我遇到了一个非常奇怪的行为,我似乎无法找到答案。
我了解this
方法中this.score.push(newscore)
中关键字addScore
的使用方式; this
指的是创建的特定对象。在这种情况下,this
指的是存储在变量billy
中的学生对象。
但是,我们要删除this
,以便addScore
方法读取score.push(newscore)
。好的,我知道这也可以,因为score
现在指的是新学生对象创建的初始输入:[80,90,100]
。 score
的范围也应允许这样做。
真正令我难以置信的是,当我致电billy.score
查看他的分数时,addScore
方法添加的新分数就在那里,保存并存储!如果score
仅指输入,那么世界上如何存储新分数?不应该将新分数不存储在score
数组中,因为它已添加到输入而不是对象的属性,即。 this.score
?
非常感谢您提前阅读,我希望与大家讨论这个问题!
function Student(name, score){
this.name = name;
this.score = score;
this.addScore = function(newscore){
this.score.push(newscore) // vs score.push(newscore)
}
}
var billy = new Student("Billy", [80,90,100]);