gpt4 book ai didi

带有默认参数的 JavaScript 函数

转载 作者:行者123 更新时间:2023-11-29 18:11:08 27 4
gpt4 key购买 nike

我目前使用以下函数来检查三个参数以查看是否有任何传递,如果没有发送参数,这是在设置默认值的同时执行此操作的最佳方法吗?

function setupSlideshow(t, e, s) {
e = e || '.slideshow';
s = s || '> li';
t = t || 70;
$timeout(function() {
$(e).cycle({
swipe: true,
slides: s,
fx: 'scrollHorz',
pager: '.cycle-pager',
timeout: 0
});
}, t);
}

通过使用 setupSlideshow(70); 这将我的超时设置为 70 毫秒但是当涉及到设置元素然后使用 setupSlideshow('.new-幻灯片'); 不起作用。

setupSlideshow(70);
setupSlideshow('.new-slideshow');
setupSlideshow('.new-slideshow','.slide');

最佳答案

我想你忘记了参数总是必须按顺序输入...这里你的第一个参数是你超时的时间(以毫秒为单位),第二个参数是幻灯片元素。如果你省略你的时间,幻灯片元素将是第一个参数,所以被函数视为你的时间。

jQuery 用来解决这个问题的一种方法是使用一个 option 参数。这包括传递一个对象供函数使用,看起来像这样:

function setupSlideshow(options) {
options = options || {};
e = options.e || '.slideshow';
s = options.s || '> li';
t = options.t || 70;
$timeout(function() {
$(e).cycle({
swipe: true,
slides: s,
fx: 'scrollHorz',
pager: '.cycle-pager',
timeout: 0
});
}, t);
}
setupSlideshow({t:70});
setupSlideshow({e:'.new-slideshow'});
setupSlideshow({e:'.new-slideshow',s:'.slide'});

使用此技术对于此类用法很有用,但当可能的选项过多且没有很好的记录时,也可能成为问题制造者,因此请保持清洁并评论:)

关于带有默认参数的 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27297675/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com