Javascript函数中的对象

时间:2018-02-22 12:14:34

标签: javascript function object

为什么有必要在函数的开头创建和使用一个空对象(就像这种情况下的雇员一样)。有没有其他方法可以在此函数中编写此对象。这可能是一个愚蠢的问题,但我是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");

2 个答案:

答案 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”));