如何将对象作为参数传递给函数

时间:2016-07-02 05:20:55

标签: javascript object

var car = {make: "Honda", model:"Civic", color:"Silver"};

    for(var prop in car)

        console.log(prop);

我得到了汽车所有属性的输出,即:" 使, 模型, 色"

var car = {make: "Honda", model:"Civic", color:"Silver"};

var GetObjectPropertyNames = function(obj) {

    if(obj===null)
    {
        return null;
    }

    for(var prop in obj)
    {
        return prop;
    }


}
console.log(GetObjectPropertyNames(car));

当我执行此代码时。我只有一辆车的财产。即只是" make"作为输出。 我可能知道我哪里出错了吗? b / w这两个片段有什么区别?

2 个答案:

答案 0 :(得分:2)

您可以使用Object.keys()获取属性名称数组。你不需要自己编写一个函数来完成这个任务。

var car = {make: "Honda", model:"Civic", color:"Silver"};

var props = Object.keys(car);    // ["make", "model", "color"]

仅供参考,您的函数只返回一个属性名称,因为您在使用return找到的第一个属性上使用return prop,并且一返回就会执行一个函数。

如果您想自己编写,可以将所有属性放入数组中,然后在完成后返回数组(虽然Object.keys()已经为您执行此操作)。

答案 1 :(得分:0)

这是因为您在找到第一个属性名称后立即X。一个函数只能返回一次。

也许将属性名称推送到循环中的数组中并返回它。

相关问题