JS性能:条件内的事件处理程序与事件处理器中的条件

时间:2015-04-23 10:45:22

标签: javascript performance javascript-events conditional-statements

我对JS比较陌生,但我非常清楚在Web开发中性能是一个非常重要的问题,因此这个问题:

我已经搜索并找到了一些相关的主题(例如:Javascript pattern: Conditional event handler),但我发现这一点令人困惑,因为我的方案简单得多,并且不涉及任何高级概念,例如类。

例如,上下文,想象一下我的网站包含各种类型的网页'由不同的身体类别定义="类型"标签。为清楚起见,我们可以有body class =" member-details",body class =" club-details"和body class =" random-page-type"。想象一下,有很多,比如说20种可能的身体类型。

考虑一种情况,其中我可能希望将一个特定的点击事件处理程序绑定到一个元素,如果该主体是某些特定类型而另一个是否是其他类型。

问题是:

在处理程序中将处理程序置于条件或条件中是否更好?为清楚起见,伪代码:

1)事件处理程序内的条件

ON DOCUMENT READY {
    if page type is 'club-details' || page type is 'x' || page type is 'y' {
        bind function1 ();
    }
}

2)条件内的事件处理程序

if page type is 'club-details' || page type is 'x' || page type is 'y' {
    ON DOCUMENT READY {
        bind fuction1();
    }
}

这是一个非常简化的示例,但我想我要求提供关于始终绑定事件的性能的信息,如示例1所示,或者决定是否通过迭代条件进行绑定,如示例2所示?

1 个答案:

答案 0 :(得分:1)

由于Javascript事件是异步执行的,因此您的示例不是性能而是内存。第二个示例将比第一个示例占用更少的内存,因为绑定的事件较少。与服务器端相比,客户端性能并不重要。话虽这么说,你应该考虑编写漂亮可读的代码而不是琐碎的性能优势。 Javascript现在非常快。