Javascript jQuery应该是怎样的过程化的

Javascript jQuery应该是怎样的过程化的,javascript,jquery,performance,Javascript,Jquery,Performance,我不想引起激烈的争论,但我需要知道这一点。我正在编写一个jQuery脚本来处理动态页面元素。我遵循一种非常OOP风格的编码,我的问题是:这是Javascript的好主意还是最佳实践 我的脚本文件: (function($){ hideConditionalSelects = function() { $('.hiddenchild').closest('tr').addClass('hidefield'); } showSelectDropdown = f

我不想引起激烈的争论,但我需要知道这一点。我正在编写一个jQuery脚本来处理动态页面元素。我遵循一种非常OOP风格的编码,我的问题是:这是Javascript的好主意还是最佳实践

我的脚本文件:

(function($){
    hideConditionalSelects = function() {
        $('.hiddenchild').closest('tr').addClass('hidefield');
    }
    showSelectDropdown = function(theFieldName) {
        hideConditionalSelects();
        $('.toggle' + theFieldName).closest('tr').removeClass('hidefield');
    }
    toggleFieldVisibiltyByClass = function() {
        $('.toggletype').change(function(){
            var toggleElem = $(this).find("option:selected").val();
            showSelectDropdown(toggleElem);
        });
    }
    $(document).ready(function() {
        hideConditionalSelects();
        toggleFieldVisibiltyByClass();
    });
})(jQuery);
这个脚本很快就会变成300-400行,我想知道在我走得太远之前,这种书写方式对jQuery是否是个好主意


它是否会妨碍渲染时间等?我应该写更多的“程序性”吗?我希望我的问题是明确的,我感谢你的意见。谢谢

我认为这不是个好主意。随着脚本变得越来越复杂,越来越动态,您很快就会遇到jQuery之类的库的限制


程序性或功能性并不重要。模块化很重要。寻找一个框架。

就个人而言,我不喜欢这样做,但你遗漏了一件事,那就是你没有使用var关键字,这意味着所有这些变量都是全局变量。此时性能不是一个问题,但可维护性是。@KevinB也许他希望函数是全局的,以便可以重用。是的,我希望它们是可重用的。谢谢,我不知道。。。我认为需要全局的唯一原因是,如果要在内联事件onclick=somefunction中使用它们,这无论如何都不是一个好主意。如果您想在其他脚本中使用它们,有更好的方法来实现这一点,比如创建一个模块,这样您只有1个全局变量而不是3个,并且它们将被分组在一起,这样就可以清楚地看到它们是相关的。如果您确信这是您想要的,那么可以在window对象上显式地设置它们,以明确它们应该是全局的。p、 这里的OOP风格到底在哪里?我看到函数,但没有可实例化的对象。谢谢Frits,你能推荐一些好的“UN”吗?Google for js framework,你会得到一些流行的。就我个人而言,我使用的是内部开发的框架,所以我不能告诉你太多;