Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript连接,加载许多不需要的东西?_Javascript_Jquery - Fatal编程技术网

JavaScript连接,加载许多不需要的东西?

JavaScript连接,加载许多不需要的东西?,javascript,jquery,Javascript,Jquery,我知道有第三方解决方案可以加载所需的js文件,比如requirejs,但在我的项目中,我无法加载 我的许多脚本都有以下设计模式,现在使用后端框架Magento将这些脚本加载到相应的页面上。但是,我打算将所有脚本连接到一个文件中,这让我想知道,用不存在的元素加载所有这些事件的代价是什么: var Forms = (function($){ var Forms = function(){ var context = this; $(function(){

我知道有第三方解决方案可以加载所需的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();
例如,如果将所有脚本连接在一起,则所有
$(function(){})
都将执行,即使其内容在DOM中不存在。当然,这将导致一些性能下降

处理此问题的正确方法是使用
var f=new Forms()在实际模板文件中需要它吗


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

var Forms=new Forms()我见过的最好的JS行:)“我打算将所有脚本连接到一个文件中”不包括该页面上不需要的脚本。就这么简单。为什么要下载额外的字节?这是一个单页的应用程序吗?哈哈,我只是很快写下来作为例子。我想知道,浏览器是否保留脚本文档的缓存?我想是的。也许这是对这个想法的支持?另一方面,你测量过了吗?在页面加载时,让jQuery搜索几个不存在的元素是否缓慢?类似于
$(“#时事通讯验证详细信息”)
的功能非常快。不要根据直觉进行优化。