在jQuery中重用代码

时间:2017-09-26 18:11:45

标签: javascript jquery optimization

我有以下datepicker设置:

 startDate.datepicker({
                format: 'mm/dd/yyyy',
                container: container,
                todayHighlight: true,
                autoclose: true,
            })

            endDate.datepicker({
                format: 'mm/dd/yyyy',
                container: container,
                todayHighlight: true,
                autoclose: true,
            })

如您所见,它们具有相同的设置。如何重用这些设置,以便减少代码的大小?

4 个答案:

答案 0 :(得分:1)

我会创建一个params块等,然后在我需要使用该对象的每个地方使用spread运算符,这样我就可以根据需要进行简单的添加。更简单,更清洁。

let params = {
                format: 'mm/dd/yyyy',
                container: container,
                todayHighlight: true,
                autoclose: true,
            };

startDate.datepicker({ ...params })
endDate.datepicker({ ...params, additionalThing: true })

答案 1 :(得分:0)

由于您将对象传递给datepicker()函数,因此可以执行此操作:

var settings = {
    format: 'mm/dd/yyyy',
    container: container,
    todayHighlight: true,
    autoclose: true
};
startDate.datepicker(settings);
endDate.datepicker(settings;

答案 2 :(得分:0)

显而易见的解决方案是将选项放在变量中。您还可以组合jQuery对象。

startDate.add(endDate).datepicker({
    format: 'mm/dd/yyyy',
    container: container,
    todayHighlight: true,
    autoclose: true
});

答案 3 :(得分:0)

您可以将选项对象定义为变量并将其传递给选择器。

var datePickerOptions = {
  format: 'mm/dd/yyyy',
  container: container,
  todayHighlight: true,
  autoclose: true,
}
startDate.datepicker(datePickerOptions)

endDate.datepicker(datePickerOptions)