gpt4 book ai didi

javascript - 函数名中的数组

转载 作者:行者123 更新时间:2023-11-30 13:12:23 25 4
gpt4 key购买 nike

我正在尝试用 JS 编写一个小的“营业时间”脚本。我为此使用了 timepicker,一切正常,除了我想每天都有一个功能,我不想复制粘贴它七次。

这是我的代码的一部分:调用部分:

jQuery(document).ready(function() {
var week = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'];
for (var i = 0; i < week.length; i++) {
day = week[i];

jQuery('#' + day + '_start1').timepicker({
showLeadingZero: false,
onHourShow: MondayHourFuncStart,
//I want to add the day name instead of Monday
onMinuteShow: MondayMinFuncStart //I want to add the day name instead of Monday
});
}

函数部分:

week = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'];
for (var i = 0; i < week.length; i++) {

function MondayHourFuncStart(hour) //I want to add the day name instead of Monday {
var day = week[i];
var tpEndHour = jQuery('#' + day + '_end1').timepicker('getHour');
// all valid if no end time selected
if (jQuery('#monday_end1').val() == '') {
return true;
}
// Check if proposed hour is prior or equal to selected end time hour
if (hour <= tpEndHour) {
return true;
}
// if hour did not match, it can not be selected
return false;
}

所以我只想用数组值代替“星期一”

我尝试了很多东西,但我没有找到好的解决方案。

提前致谢。

最佳答案

将它们放在一个对象中:

//object containing all the week's functions
var funcs = {},
days = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'];

//build the functions for each day
for(var i = 0; i < days.length; i++) {
funcs[days[i]] = function() {
//stuffs
}

//or for multiple events/functions, something like
funcs[days[i]] = {
onHourShow: function() {},
onMinuteShow: function() {}
};
}

jQuery(document).ready(function() {
var week = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'];
for (var i = 0; i < week.length; i++) {
day = week[i];

jQuery('#' + day + '_start1').timepicker({
showLeadingZero: false,
onHourShow: funcs[day], //or funcs[day].onHourShow, depending on which you do above
onMinuteShow: funcs[day]
});
}
}

关于javascript - 函数名中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13417911/

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