级别一直显示为未定义

问题描述 投票:1回答:1

我正在尝试一个代码并且它一直在返回“没有在singerprofile函数下定义的级别,目前我不知道问题是什么。有谁知道?

function Singer(name,specialty,power,hitpoints,level,gender,rarity){ 

       this.name=name;   
        this.specialty=specialty;     
        this.power=power;     
        this.hitpoints=hitpoints;     
        this.level=level;     
        this.gender=gender;     
        this.rarity=rarity     


}  

var momobae=new Singer("momobae","k-pop",49,28,7,"female","Rare")
 var minibae=new Singer("minibae","k-pop",30,20,5,"male","common") 
 var array=[momobae,minibae] 

this.singerProfile=function(){ 
    console.log(name+" Level"+ level+" gender"+ gender+" power"+power+"!"+" Hitpoints:") 
} 
for(var i=0;i<array.length;i++){this.singerProfile(array[i]) 
}; 
javascript
1个回答
1
投票

你必须修复你的singerProfile并传递当前元素作为参数

function Singer(name,specialty,power,hitpoints,level,gender,rarity){ 
  this.name=name;   
  this.specialty=specialty;     
  this.power=power;     
  this.hitpoints=hitpoints;     
  this.level=level;     
  this.gender=gender;     
  this.rarity=rarity     
}  

var momobae=new Singer("momobae","k-pop",49,28,7,"female","Rare")
var minibae=new Singer("minibae","k-pop",30,20,5,"male","common") 
var array=[momobae,minibae] 

this.singerProfile=function(elem){ 
  console.log(elem.name+" Level"+ elem.level+" gender"+ elem.gender+" power"+elem.power+"!"+" Hitpoints:") 
} 
for(var i=0;i<array.length;i++){
  this.singerProfile(array[i]) 
}; 
© www.soinside.com 2019 - 2024. All rights reserved.