Javascript 对象、原型继承和失败的函数

Javascript 对象、原型继承和失败的函数,javascript,function,object,Javascript,Function,Object,在尝试继续一些中级/高级Javascript概念时,我遇到了一个问题。在下面的代码中,对象原型和创建的对象似乎运行良好。但是,当我尝试在函数“winner”中使用它们时,无论它们的分数如何,结果总是将winner声明为已通过的第二个参数。在这里,迈克的分数(395分)高于彼得(206分),应该宣布他为获胜者。此外,控制台正在记录消息“Peter以功能得分(){ 返回(this.age*5)+this.height; }". 如果能帮助我理解我做错了什么,我将不胜感激 var播放器={ 名称:

在尝试继续一些中级/高级Javascript概念时,我遇到了一个问题。在下面的代码中,对象原型和创建的对象似乎运行良好。但是,当我尝试在函数“winner”中使用它们时,无论它们的分数如何,结果总是将winner声明为已通过的第二个参数。在这里,迈克的分数(395分)高于彼得(206分),应该宣布他为获胜者。此外,控制台正在记录消息“Peter以功能得分(){ 返回(this.age*5)+this.height; }".

如果能帮助我理解我做错了什么,我将不胜感激

var播放器={
名称:“默认值”,
年龄:'默认',
高度:“默认值”,
分数:函数(){
返回(this.age*5)+this.height;
}
}
var Mike=Object.create(player);
Mike.name='Mike';
迈克:年龄=67岁;
迈克:身高=60;
var-Peter=Object.create(player);
Peter.name='Peter';
彼得:年龄=30岁;
彼得:身高=56;
var winner=函数(player1,player2){
var player1score=player1.score;
var player2score=player2.score;
如果(player1score>player2score){
console.log(player1.name+'以'+player1.score'得分获胜);
}否则{
console.log(player2.name+”以“+player2.score”得分获胜);
}
}
获胜者(迈克、彼得);
获胜者(彼得、迈克)替换

var player1score = player1.score;
var player2score = player2.score;


如果您只需编写
player1.score
就必须调用函数。因为score是一个函数,所以您需要这样调用它:
player1.score()
愚蠢的错误。我知道会有点像这样。谢谢
var player1score = player1.score();
var player2score = player2.score();