0

对于性能优化,我使用单个 JavaScript 文件来处理我正在处理的网站的所有页面。我使用的基本结构如下:

(function($) {

    // Shared functions ...

    // A function for every page
    function Page1() {
    }
    Page1.prototype = {
        init: function() {
            //...
        },
        //more functions
    };

    // more pages

    $(document).ready(function() {
        if ($('#page1uniqueidentifier').length) {
            var page1 = new Page1();
            page1.init();
        }
        // more pages
    }
}) (jQuery);

我不是一位经验丰富的 JavaScript 程序员,所以我一直在搜索最佳实践和构建代码的不同方法,最终选择了这个,但我不太确定,我有几个问题:

  1. 如果我永远不会拥有多个页面实例,那么使用原型是否值得?我想我了解原型是如何工作的,并且我没有在那里获得任何性能。但我只是将它用作最佳实践,因为在存在不同实例的情况下,这些函数在每个实例中都是相同的。

  2. 有没有更好的方法来构建代码?

  3. 我应该将init函数的调用放在构造函数中,然后只调用new Page1()吗?

    function Page1() {
        this.init();
    }
    
    if ($('#page1uniqueidentifier').length) {
        new Page1();
    }
    
4

1 回答 1

0

为了性能优化,我使用单个 JavaScript 文件来处理我正在处理的网站的所有页面

这是没有意义的。您应该将代码分成文件,然后通过最小化器/连接器运行所有 js 文件以将其打包。

无论如何,回答你的问题,

  1. 如果你只有 1 个,那么原型不会给你买任何东西。但是,如果您要使用超过 1 个,您会返回并更改它吗?另外,使用原型也不会伤害您,所以您不妨学习一下。
  2. 您应该根据实现的功能创建有意义的文件。例如,我会将您的对象定义分离到它自己的文件中,因此当您查看该文件时,您所看到的只是该对象的代码。
  3. 如果你有一个构造函数,你真的不需要 init,对吗?
于 2012-07-19T12:38:48.863 回答