将字符串参数传递给构造函数以调用函数

时间:2014-11-04 20:45:44

标签: javascript methods constructor

我遇到过这种编程风格,其中: 它们不是直接调用对象方法,而是在构造函数方法中传递一个字符串,构造函数方法然后检查该字符串并调用与之关联的函数。

function MySimpleObject(option){
  if (typeof option === 'String'){
    pluginMethods[String].apply(this, arguments);
  }
  else {
    init();
  }
}

这似乎与jQuery一起用作扩展函数。

jQuery.fn.extend({simpleObj: MySimpleObject});

如果有人能在这方面给我启发,我真的很感激。

1 个答案:

答案 0 :(得分:1)

这允许以下样式的编程,例如jQuery UI使用的编程:

$('selector').datepicker('option', 'option-name', 'option-value');

如果您在没有参数或对象的情况下调用.datepicker(),则会初始化datepicker。当第一个参数是一个字符串时,它是对datepicker方法的调用。这种方法用于所有jQuery UI小部件,并且在许多其他jQuery插件中也很常见。