JavaScript/jQuery速记函数定义
我使用的jQuery插件的功能定义如下:JavaScript/jQuery速记函数定义,javascript,jquery,notation,Javascript,Jquery,Notation,我使用的jQuery插件的功能定义如下: $('#mydiv').pluginAction({ someproperty: val, format: 'mm hh', labels: ['yes', 'no', 'maybe'], labels1: ['never', 'always'] }); 在我的HTML页面中,我有多个div,它们的格式、标签、标签1的属性相同,但某些属性的值不同。我是否可以利用某种类型
$('#mydiv').pluginAction({
someproperty: val,
format: 'mm hh',
labels: ['yes', 'no', 'maybe'],
labels1: ['never', 'always']
});
在我的HTML页面中,我有多个div,它们的
格式
、标签
、标签1
的属性相同,但某些属性的值不同。我是否可以利用某种类型的JavaScript符号来缩短定义,这样就不必有重复的代码?有几种方法可以解决这个问题:
创建一个填补空白的函数;或
如果插件是您的,则将这些值默认为您想要的值
(1)的示例:
Cletus有一个非常好的答案,它允许您生成非常可读的代码。这可能是您的最佳解决方案
为了记录在案,类似于以下内容也是可能的。您可以创建一个存储所有固定属性的对象文本,然后在需要时通过使用指定add额外属性(例如示例中的someProperty
)
复制那种代码没有什么错。它实际上清楚地表明了什么样的行为适用于给定的div。但是,如果你说的是成百上千的重复,请使用其他人的建议。一些插件允许你发送一个对象文本来替换插件的默认值。您可以将其用于不改变的值。
function props(val) {
return {
someproperty: val,
format: 'mm hh',
labels: ['yes', 'no', 'maybe'],
labels1: ['never', 'always']
};
}
$("#mydiv").pluginAction(props("..."));
var props = {
format: 'mm hh',
labels: ['yes', 'no', 'maybe'],
labels1: ['never', 'always']
};
$('#mydiv').pluginAction($.extend(props, { someProperty: val }));