JavaScript连接,很多东西被加载不需要?

时间:2015-08-29 07:15:19

标签: javascript jquery

我知道有第三方解决方案来加载所需的js文件,例如requirejs,但在我的项目中,我无法做到。

我的许多脚本都有以下设计模式,现在使用后端框架Magento将其加载到适当的页面上。但是,我打算将所有脚本连接成一个文件,这让我想知道所有这些事件都加载了不存在的元素会带来什么成本:

var Forms = (function($){
    var Forms = function(){
        var context = this;
        $(function(){
            //Jquery Validate for newsletter form
            context.newsletter_validate_detail = $( "#newsletter-validate-detail" ).validate({
                errorClass: 'form-error',
                errorElement: 'div',
                rules: {
                    email: {
                        required: true,
                        email:true
                    },
                    gender: {
                        required: true
                    },
                    'required': {
                        required: true
                    }

                },
                messages: {
                    gender: "Please select something"
                }
            });
        });
    };

    Forms.prototype.getForm = function(id){
        return this[id];
    };

    return Forms;
})(jQuery);

var test = new Forms();

例如,如果我将所有脚本连接起来,那么即使其内容在DOM中不存在,也会执行所有$(function(){})。当然,这会导致一些性能受到影响吗?

处理此问题的正确方法是在需要它的实际模板文件中有<script> var f = new Forms(); </script>吗?

注意:我无法使用requirejs等第三方解决方案

0 个答案:

没有答案