为什么有必要在函数的开头创建和使用一个空对象(就像这种情况下的雇员一样)。有没有其他方法可以在此函数中编写此对象。这可能是一个愚蠢的问题,但我是javascript的新手。
function allemployees (Firstname,Lastname,Gender,Designation) {
var employee = {};
employee.Firstname = Firstname;
employee.Lastname = Lastname;
employee.Gender = Gender;
employee.Designation = Designation;
return employee;
}
var emp = allemployees("John", "Miller", "M", "abc");
答案 0 :(得分:2)
如果我理解你的问题。您可以只返回对象文字,而不创建临时变量。
function allemployees (Firstname,Lastname,Gender,Designation) {
return {
Firstname: Firstname,
Lastname: Lastname,
Gender: Gender,
Designation: Designation
};
}
console.log(allemployees("John", "Miller", "M", "abc"))

或者使用ES2015增强的对象文字,语法甚至更短。
function allemployees (Firstname, Lastname, Gender, Designation) {
return { Firstname, Lastname, Gender, Designation };
}
console.log(allemployees("John", "Miller", "M", "abc"))

答案 1 :(得分:0)
首先,代码中存在错误。 您声明并初始化了employees变量,并尝试将值赋给尚未声明的emp变量,因此未定义错误。
试试这个
function allemployees(名字,姓氏,性别,指定){ return {“Firstname”:名字,“姓氏”:姓氏,“性别”:性别,“指定”:指定}; }
这将在不声明任何变量的情况下为您工作,并将返回您想要的内容。
此外,我从您那里得到的评论是,您拥有来自其他地方的员工数据,并希望将这些数据存储在javascript对象中。因此,您在函数allemployees(....)的调用点声明并初始化employees变量。
var employees = {}; employees.push(allemployees(“John”,“Miller”,“M”,“abc”));