JavaScript 参数选项

标签 javascript jquery

我只是想知道如何创建一个对象或选项(无论它是什么)。

我创建了一个名为 popupModal() 的 js 文件

现在,我正在使用这个函数

popupModal(param1,param2,param3,param4,param5,param6)

在调用时,如果我不需要某些参数,我必须写这个。

popupModal(param1,undefined,param3,undefined,undefined,param6)

有人可以告诉我如何修改我的函数,这样每当我使用这个函数时我都可以这样调用它

popupModal ({
param2: someValue,
param6: someValue
});

最佳答案

要执行您所要求的操作,您需要接受单个对象作为参数。

popupModal({
  param2: 'foo',
  param6: 'bar'
});

function popupModal(settings) {
  console.log(settings.param2);
  console.log(settings.param6);
}

如果您希望某些参数是可选的,那么您可以在函数中定义一个包含默认值的对象。然后您可以使用 jQuery 的 $.extend() 方法用用户定义的设置覆盖它:

popupModal({
  param2: 'foo',
  param6: 'bar'
});

function popupModal(settings) {
  var defaults = {
    param1: '1',
    param2: '2',
    param3: '3',
    param4: '4',
    param5: '5',
    param6: '6',
  }
  
  settings = $.extend(defaults, settings);
  
  console.log(settings.param1);
  console.log(settings.param2);
  console.log(settings.param3);
  console.log(settings.param4);
  console.log(settings.param5);
  console.log(settings.param6);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

关于JavaScript 参数选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59088044/

相关文章:

javascript - 使链接保持下划线直到仅单击其他按钮

javascript - 查找两个 float 之间的范围值

javascript - 无法让我的导航栏适合所有页面

jquery - Bootstrap Carousel - 每张幻灯片拆分和显示四张图片时出现问题。

javascript - JQuery 相同高度 DIV

javascript - 如何在 nw.js 中访问 iframe 的内容?

javascript - 除了 switch 语句之外的不同写法

jquery - 使用 jQuery 修改超链接的 onclick URL 参数

JavaScript/jQuery - 数组列表没有遍历整个板

在 chrome 中工作的 Javascript,而不是 firefox 或 ie