用于操作 DOM API 的 Javascript 设计模式

标签 javascript dom design-patterns

我阅读了很多主题,浏览了 github 上的很多 JS 插件,其中很多都有自己的构建代码的方式以及使用哪种模式。在某些情况下,他这样做的原因是显而易见的。但是,当处理较小的东西(而不是大型 SAP)时,哪种模式最有“优点”?

现在,我要这样: https://github.com/goranefbl/GENS-Javascript-Boilerplate/blob/master/main.js

是的,它工作得很好,但我想知道对于较小的插件,尤其是那些只是操作 DOM 的插件(创建新元素/移动/添加事件监听器等...),最好的模式是什么与当然为什么?也许我不需要为小东西污染命名空间。

这是最新组件的示例:gist.github.com/goranefbl/1b6144ee8cd8708c7511a1a2fb7c53a6 它只是在选择字段下方创建无序列表,以方便样式设置。

使用上面的示例样板感觉不太对,也就是说,对于这样的事情感觉太多了。

最佳答案

您正在寻找比您发布的图案更小的图案。让我们看看我们可以去掉哪些部分:

defaults 对象和 extendDefaults 方法不是必需的,您可以使用

window.GENSPlugin = function(firstoption, secondoption) {

问题是,你真的需要插件吗?你说你不想污染全局命名空间,那这样呢:

(function() {
    'use strict';

    // not accessible from outside the function
    var obj1 = document.getElementById("...");

    // accesible from outside
    window.obj2 = function() {
        ...
    }

})();

关于用于操作 DOM API 的 Javascript 设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37253410/

相关文章:

javascript - 样式导航栏的方式类似于一个附加的

java - 如何刷新 Selenium 中的 DOM 树以便显示新生成的元素?

c++ - 为什么要在 C++ 中为单例类重载复制赋值运算符?

java - (java.util.regex.Pattern 的问题)检查字符串中的数字和字母

javascript - 解决 Angular 应用程序中的 Moment.js 弃用警告

javascript - 在函数中将对象和 id 作为参数传递

javascript - react : this. 状态与 this.setState

javascript - 从同一个类(class)中选择第一个 child 并添加一个类(class)名称

javascript - DOM 在我想要的地方添加表格行

html - 网格布局模式的第 n 个子选择器