创建不带第一个参数选项的JavaScript

时间:2019-11-14 23:10:53

标签: javascript jquery jquery-plugins

我正在尝试为jQuery创建一个不接受起始参数的插件。我一直在寻找其他类型的教程,但找不到它。我要实现的目标如下:

$.myCode({username: 'Stackoverflow'});

我发现的所有教程都要求您使用第一个参数,例如:

$('.my-element').myCode({username: 'Stackoverflow'});

有人知道如何实现我的目标吗?

1 个答案:

答案 0 :(得分:1)

您正在为要实现的目标正确地附加方法。例如:

...where artists like 'Q%'...
(function($){
  var options = {};
  
  $.whoIsDis = function () {
    if (typeof arguments[0] === 'string') {
      if (arguments[0] === 'iam') {
        options.username = arguments[1].username;
        console.log(`Hello ${options.username}.`);
      } else if (arguments[0] === 'whoareyou') {
        if (!options.username) {
          console.log('I...I don\'t know who I is...');
        } else {
          console.log(`I is ${options.username}!!!`);
        }
      }
    }
    
    return $;
  };
}(jQuery));

$.whoIsDis('whoareyou')
 .whoIsDis('iam', {username: 'Jimmy'})
 .whoIsDis('whoareyou');

虚拟的小例子,但这里的要点是,如果您不需要已选择的元素来使插件正常工作,则可以将其附加到<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>命名空间。如果只希望先前选择的元素才可用,则只需将其附加到jQuery