jQuery样式函数默认使用对象

时间:2009-10-06 06:37:40

标签: javascript jquery object function

我正在开发一个项目,我无法使用jQuery。自从使用jQuery以来,我已经非常习惯于在函数中设置参数的方式。使用“jQuery”方式非常好,因此无论顺序如何,或者即使使用普通函数方法所需的所有默认值也是如此。

所以,我的问题是我怎么会这样:

function myFunction(param1, param2, param3, param4, param5) {

}

对于类jQuery方法,不使用jQuery:

function myFunction({
 param1: 'test',
 param2: 'test2'
});

对此的任何帮助都会很棒!

1 个答案:

答案 0 :(得分:8)

我认为您想在函数中定义一个 options 参数,并针对默认值对象进行扩展:

function myFunction (options){
  options = extend({ // default values
    param1: 'test',
    param2: 'test2'
  }, options || {});

  alert(options.param1);
}

// helper function to "extend" the 'b' object from 'a'
// by copying its properties
function extend(a, b) {
  for ( var prop in b ) {
    a[prop] = b[prop];
  }
  return a;
}

然后,如果你打电话:

myFunction ({param1:'overriden!'});

options.param1将在您的函数中被覆盖,options.param2将保留其默认值“test2”。