繁体   English   中英

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

[英]how to pass object as a parameter to the function

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”作为输出。 我可以知道我哪里出错了吗? 这两个摘要的黑白有什么区别?

您可以只使用Object.keys()获得属性名称的数组。 您无需自己编写函数即可执行此操作。

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

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

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

如果您想自己编写此代码,则可以将所有属性放入一个数组中,然后在完成后返回该数组(尽管Object.keys()已经为您完成了此操作)。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM