通过包装和减少执行的语句来提高Javascript性能

时间:2015-10-19 21:01:54

标签: javascript

我正在做一个网站。许多页面依赖于Javascript。此时,我为各个页面提供了单独的Javascript文件(许多文件非常大)。以下是特定页面的一个单独Javascript文件的示例(假设此页面具有<body id="page_1">):

$('#id_1').click(function(e) {
   ...
});
$('#id_2').click(function(e) {
   ...
});
....
$('#id_N').click(function(e) {
   ...
});
...
//there can be many functions like this one
function abc() {
}

对于网站性能,我将把所有这些单独的Javascript文件合并到一个文件中。在执行此操作之前,我将打包每个Javascript文件,使其仅以下列方式适用于其目标页面(添加IF语句):

if ($('#page_1').length > 0) {

    $('#id_1').click(function(e) {
       ...
    });
    $('#id_2').click(function(e) {
       ...
    });
    ....
    $('#id_N').click(function(e) {
       ...
    });
    ...
    //there can be many functions like this one
    function abc() {
    }
}

我认为在组合Javascript文件的情况下,这可以通过三种方式提供帮助:

  1. 减少与其他个人Javascript文件的潜在冲突
  2. 降低影响其他网页上html元素的可能性
  3. 提高处理组合Javascript文件的速度,因为浏览器不必执行许多不适用于页面的语句。
  4. 我在这些方面是对的吗?希望听取专家的意见,以便我能做正确的事。

    谢谢和问候。

1 个答案:

答案 0 :(得分:1)

#1和#2取决于您的代码,但约为#3,加载速度会略有增加,是的。非常非常小,但是因为查找选择器的速度非常快,如果选择器不匹配,所有应用的函数都不会执行。