正确的模式可以调用更多次方法

时间:2015-05-01 14:35:58

标签: javascript jquery class object constructor

function Class(pro_1,pro_2,pro_3,pro_4,pro_5,pro_6) {
    this.prop1 = prop_1;
    this.prop2 = prop_2;
    this.prop3 = prop_3;
    this.prop4 = prop_4;
    this.prop5 = prop_5;
    this.prop6 = prop_6;

    this.method = function(){}

}

// READY
$(document).ready(function () {
    var foo = new Class('value1', 'value2', 'value3', 'value4','value5','value6');
    foo.method();
});

// RESIZE
$(window).resize(function () {
    foo.method();
});

1)我需要多次调用方法“foo”。是否正确调用它,如上面的代码?

2)我有许多参数要传递给“Class”。处理这个问题的正确方法是什么?

由于

1 个答案:

答案 0 :(得分:0)

  1. 将resize处理程序放在与创建相同的DOM就绪处理程序中:
  2. e.g。

    $(document).ready(function () {
        var foo = new Class('value1', 'value2', 'value3', 'value4','value5','value6');
        foo.method();
        // RESIZE
        $(window).resize(function () {
            foo.method();
        });
    });
    

    在创建之前,您无法使用foo,并且resize事件处理程序在DOM就绪事件处理程序中同样快乐。

    1. 您可以传递大量简单参数,也可以将它们组合成一个对象。

      var foo = new Class({ val1: 'value1', 
            val2: 'value2', 
            val3: 'value3', 
            val4: 'value4',
            val5: 'value5',
            val6: 'value6'
      });
      
    2. 然后你的课变得更简单:

      function Class(options) {
          this.options = options;
          this.method = function(){}
      }