这是功能
function dclock(setoption) {
var settings = {
// These are the defaults.
iloc: {
bg: { // Bulgarian
months: [
"Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"
],
dayOfWeek: [
"Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"
]
},
fa: { // Persian/Farsi
months: [
'فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'
],
dayOfWeek: [
'یکشنبه', 'دوشنبه', 'سه شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'
]
},
ru: { // Russian
months: [
'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'
],
dayOfWeek: [
"Вск", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"
]
},
en: { // English
months: [
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
],
dayOfWeek: [
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
]
},
dh: { // English
months: [
"ޖަނަވަރީ", "ފެބުރުއަރީ", "މާރޗް", "އޭޕްރިލް", "މެއި", "ޖޫން", "ޖުލައި", "އޯގަސްޓް", "ސެޕްޓެންބަރ", "އޮކްޓޯބަރ", "ނޮވެންބަރ", "ޑިސެންބަރ"
],
dayOfWeek: [
"އާދި", "ހޯމަ", "އަން", "ބުދަ", "ބުރާ", "ހުކު", "ހޮނި"
]
},
},
lang: 'en'
};
var optionset = $.extend({
// These are the defaults.
lang: "en"
}, setoption);
var monthNames, dayNames;
if (optionset.lang !== undefined) {
monthNames = settings.iloc[optionset.lang].months;
dayNames = settings.iloc[optionset.lang].dayOfWeek;
}
else {
monthNames = settings.iloc[settings.lang].months;
dayNames = settings.iloc[settings.lang].dayOfWeek;
}
$('.months').text=monthNames;
$('.days').text=dayNames;
}
当我设置变量 lang
时,它可以正常工作dclock({lang:'dh'});
,因为 dh 存在于变量 iloc的选项列表中
我需要的是,如果我将一个值设置为变量 lang ,它在变量 iloc 中不存在,则设置并返回默认值。 例如:**
dclock({lang:'af'});
结果:
months = [
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
],
dayOfWeek = [
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
]
提前致谢
答案 0 :(得分:2)
使用iloc
方法检查hasOwnProperty
中传递的语言代码,如果不可用,请将其设置为默认值en
。
if(!settings.iloc.hasOwnProperty(setoption.lang))
setoption.lang = "en";
var optionset = $.extend({
// These are the defaults.
lang: "en"
}, setoption);