Javascript forEach在我的数组行之间显示未定义
我是Javascript的初学者 我试图创建一个包含联系人列表的数组,然后用“forEach”显示所有联系人。 我的问题是我的联系人之间“未定义”。 我的代码:Javascript forEach在我的数组行之间显示未定义,javascript,arrays,foreach,Javascript,Arrays,Foreach,我是Javascript的初学者 我试图创建一个包含联系人列表的数组,然后用“forEach”显示所有联系人。 我的问题是我的联系人之间“未定义”。 我的代码: var Person = { init : function (name, firstname) { this.name = name; this.firstname = firstname; }, myContact : function() { console.log('Name
var Person = {
init : function (name, firstname) {
this.name = name;
this.firstname = firstname;
},
myContact : function() {
console.log('Name : ' + this.name + ', Fistname : ' + this.firstname);
}
};
var carole = Object.create(Person);
carole.init('Lévisse', 'Carole');
var melodie = Object.create(Person);
melodie.init('Nelsonne', 'Mélodie');
var contacts = [carole, melodie];
console.log('All your contacts :');
contacts.forEach(function(indiv) {
console.log(indiv.myContact());
});
结果是:
*所有联系人:
名字:莱维斯,名字:卡罗尔
未定义
名字:内尔森,名字:梅洛迪
未定义*
怎么了?
提前感谢您将
console.log()
翻了一番
在这里,您基本上是在执行console.log(function(){console.log(…)})
函数
没有return
语句,因此它返回:undefined
要解决此问题,请删除console.log()
:
var-Person={
init:函数(名称,firstname){
this.name=名称;
this.firstname=firstname;
},
myContact:function(){
console.log('Name:'+this.Name+',Fistname:'+this.firstname);
}
};
var carole=Object.create(Person);
卡罗尔。init('Lévisse','carole');
var melodie=Object.create(Person);
melodie.init('Nelsonne','Mélodie');
变量触点=[carole,melodie];
log('您的所有联系人:');
联系人。forEach(功能(独立){
indiv.myContact();//在此处删除了一个console.log()
});
@Zenoo根据函数的命名myContact
,控制台。应从myContact
函数中删除日志。而不是从forEach