带有几个参数的 JavaScript 对象

标签 javascript jquery

目标

我想创建一个具有几个这样的参数的函数:

MyObject.calculateResponsiveHeights({
    containers: {
        ".content",
        ".sidebar"
    },
    spacing: {
        125, // This will be attributed to ".content"
        240 // This will be attributed to ".sidebar"
    }
});

问题

我不知道如何才能做到这一点。

我现在拥有的(功能实现——只是为了了解情况)

function calculateResponsiveMeasures() {
    var containerContentResponsiveHeight = $(window).height() - 185,
        sidebarProductsSummaryResponsiveHeight = $(window).height() - 255;

    containerContentResponsiveHeight = containerContentResponsiveHeight + "px";
    sidebarProductsSummaryResponsiveHeight = sidebarProductsSummaryResponsiveHeight + "px";

    $(".container-content").css("height", containerContentResponsiveHeight);
    $(".products-summary").css("height", sidebarProductsSummaryResponsiveHeight);
}

是啊,这很恶心吧?

观察结果

我并不是要求改进我的代码,也不是说这是更好还是更差的方法 - 我只是想更好地组织我的函数。

干杯!

最佳答案

您正在尝试创建一个数组:[1, 2, 3]

但是,您应该使用单个对象:

{
    ".content": 125,
    ".sidebar": 240
}

然后您可以使用 for in loop 迭代属性.

关于带有几个参数的 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16970058/

相关文章:

javascript - 解析 JSON 以获取 Google News Feed 中描述的干净、纯文本

javascript - 访问 Vuetify 作用域槽内表 colspan 的 number prop 值

javascript - jQuery 选项卡 : how to create a link to a specific tab?

javascript - 有没有办法通过Javascript执行MATLAB脚本?

javascript - 使用居中的用户指定文本动态创建 div

javascript - 使用 Jquery 悬停所有子元素

jquery - 淡入/淡出 LI 并调整容器的高度

javascript - 如何将Jquery应用于文本框、CssClass而不是Jquery、Bootstrap中的ID

javascript - JSON javascript undefined variable 问题

jquery - 使用 CSS 和 Jquery 平滑过渡