javascript - 如何组织JS加载?

标签 javascript performance optimization

我有一个严肃的项目,其中包含具有许多功能的大型 JS 文件,现在我对此有一些疑问。

  1. 当然,我会把我所有的 js 文件放在一起并 gzip,但我有一个关于函数初始化的问题。现在我有很多很多简单的功能,没有任何类。我听说最好将我的代码分成许多类,我想这样做,并在我的脚本中的页面生成步骤标记,我需要在特定页面上使用哪些类。例如,我不需要主页上的 WYSIWYG 编辑器,等等,所以我将创建特殊的 var,其中包含我需要的 js 类数组。这是最佳做法吗?客户能否节省性能和内存?

  2. 假设我有很多带有 onclick 操作的链接。更好的是:将它们保留为 <a href="#" onclick="return smth();">或重写为 <a href="javascript:void(0);">并在 document.ready 部分创建 jquery .bind?但是,如果客户想在文档准备好之前单击某些内容怎么办?

  3. 单击某项后,我必须创建一个具有特定静态 html 的 div。将这些内容存储在哪里更好?在我类的某个变种?或者可能在某个模板中?

最佳答案

我通常使用命名空间来组织我的 JavaScript 以防止函数名称冲突,并进一步将每个对象添加到它自己的 .js 文件中以进行组织

    var MyObject = function() {
        return {
            method_1 : function() {
                // do stuff here
            },
            method_2 : function() {
                // do stuff here
            }
        };
    }();

    MyObject.method_1();
    MyObject.method_2();

然后我导入页面上需要的任何内容。拥有一些未在页面上使用的额外全局函数不会对性能产生显着变化。

有些人将 HTML 中的整个 onclick 变成了一场盛大的哲学辩论......对我来说,它很脏,但易于阅读和快速实现。绑定(bind)事件效果很好,可以将 JavaScript 与 HTML 完全分开,但如果由许多开发人员维护的 HTML 变得非常草率,有时可能难以维护

在 JavaScript 中保留 HTML 位对我来说效果很好

关于javascript - 如何组织JS加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2266804/

相关文章:

javascript - 当我将鼠标悬停在 slider html5 视频上时的当前时间工具提示

javascript - CSS:如何在每次悬停时不重置悬停动画

性能调控器不会将 CPU 频率锁定在最大值

java - 多目标优化Java

jquery - RequireJS + jQuery 命名空间问题

javascript - 有人知道如何获得像 Digg.com 中那样的浏览器状态栏吗?

ruby-on-rails - 每个请求的 Ruby GC 执行超过 ~250-320 毫秒

javascript - 为 javascript 国家选择器优化 map 的使用

javascript - 为什么添加立即调用的lambda会使我的JavaScript代码快2倍?

javascript - Vue 列表不显示 javascript 字典的键?