jQuery插件选项排序/嵌套的最佳实践是什么?

时间:2015-08-24 11:40:13

标签: javascript jquery jquery-plugins

什么是最好的方法来排序(可能嵌套)jQuery插件的选项? 我见过很多:

var defaults = {
    useOverlay : true,
    activeClass : "active",

    useAnimation : true,
    animationDuration : 400,
    animationEasing : "linear",

    addControls : true,
    showControlTitle : true,
    nextClass : "next",
    nextTitle : "Show Next",
    prevClass : "prev",
    prevTitle : "Show previous"
    //and so on
};

但是,嵌套它们不会更好吗? 像这样:

var defaults = {
    useOverlay : true,
    activeClass : "active",
    animation : {
      useAnimation : true,
      duration : 400,
      easing : "linear"
    },
    controls: {
      addControls : true,
      showTitle : true,
      next : {
        class : "next",
        title : "Show Next",
      },
      prev: {
        class : "prev",
        title : "Show previous",
      }
    }
    //and so on
};

是否有任何理由jQuery插件的选项大多是平的?

1 个答案:

答案 0 :(得分:1)

这只是个人偏好。我会采取第二种选择,因为它描述得很好,基本上很整洁。但是,如果你看到障碍,你可能需要在下一个按钮的类中使用这样的东西:

defaults.controls.next.class

此外,名称nextclassdefaults是保留字(我只是说有很多保留字,可能会发生冲突)。因此,使用next_classanimation_use等内容可确保我们不会使用JavaScript的保留关键字。

正如我在评论中所说,大多数开发人员(包括我)都是懒惰的,他们只想创建一个变量,无论他们是否有结构。这样可以避免长时间地决定结构。

最终,这只是个人选择。