带条件的jQuery init函数

带条件的jQuery init函数,jquery,initialization,init,Jquery,Initialization,Init,我不熟悉脚本编写,再次需要您的帮助来编写更好的代码。我使用的是init函数,它是所有函数的集合,但现在如果某些条件为真,我希望执行的函数似乎很少 示例脚本 $(document).ready(function() { var app = { init: function(){ // Variable to check condition var abc = 0; // Default functions this.Function1(); this.Function2

我不熟悉脚本编写,再次需要您的帮助来编写更好的代码。我使用的是init函数,它是所有函数的集合,但现在如果某些条件为真,我希望执行的函数似乎很少

示例脚本

 $(document).ready(function() {

var app = {
init: function(){

  // Variable to check condition
  var abc = 0;

  // Default functions
  this.Function1();
  this.Function2();
  this.Function3(); // abc variable will change to 1 if condition is true

  // Conditional functions
  if ( abc === 1 ) {
     this.ConditionFunction1();
     this.ConditionFunction2();
  },

  Function1: function(){ // some Code },
  Function2: function(){ // some Code },
  Function3: function(){
                if(true) { abc == 1; } 
  },
  ConditionFunction1: function(){ // some Code },
  ConditionFunction2: function(){ // some Code }

}
app.init();
});

通过重写和对代码进行定向,您可以这样编写:

    $(document).ready(function () {

    var app = {
        init: function () {

            // Variable to check condition
            var abc = 0;
            var Function1 = function () { // some Code
                console.log("Function1")
            }

            Function2 = function () { // some Code
                console.log("Function2")

            }

            Function3 = function () {
                if (true) {
                    console.log("Function3")
                    abc == 1;
                }
            }

            ConditionFunction1 = function () { // some Code
                console.log("ConditionFunction1")
            }

            ConditionFunction2 = function () { // some Code
                console.log("ConditionFunction2")
            }
            // Default functions
            Function1();
            Function2();
            Function3(); // abc variable will change to 1 if condition is true

            // Conditional functions
            if (abc === 1) {
                ConditionFunction1();
                ConditionFunction2();
            }
        }
    }
    app.init();
});

现在还不清楚您想在这里做什么-
abc
被硬编码为
0
,因此您的病情永远不会出现。如果您想在
abc
值更改时执行一些逻辑,我建议您使用基于事件的模式。这些函数:在Init()内部,您应该将它们放在外部。@Rorymcrossan friend您能解释一下基于事件的模式吗abc'是我试图应用于条件的某个伪变量。@Zorkind将哪些函数放在外部?如果被调用,条件函数将缓存一些元素。在条件函数之后,您用逗号放置一些函数,我想这些函数应该在Init()之外?事实上,所有东西都在Init()中,除了条件函数,我从来没有想到它会这么简单:)谢谢朋友