创建 JavaScript 没有第一个参数的选项
Create JavaScript without the option for first parameter
我正在尝试为 jQuery 创建一个不接受起始参数的插件。我一直在寻找不同类型的教程,但找不到。我想要实现的是:
$.myCode({username: 'Whosebug'});
我找到的所有教程都要求您使用第一个参数,例如:
$('.my-element').myCode({username: 'Whosebug'});
有人知道如何实现我的目标吗?
您正在正确附加方法以实现您想要实现的目标。例如:
(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
命名空间。如果您希望它仅在您之前选择了元素时才可用,则只需将其附加到 jQuery.fn
。
我正在尝试为 jQuery 创建一个不接受起始参数的插件。我一直在寻找不同类型的教程,但找不到。我想要实现的是:
$.myCode({username: 'Whosebug'});
我找到的所有教程都要求您使用第一个参数,例如:
$('.my-element').myCode({username: 'Whosebug'});
有人知道如何实现我的目标吗?
您正在正确附加方法以实现您想要实现的目标。例如:
(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
命名空间。如果您希望它仅在您之前选择了元素时才可用,则只需将其附加到 jQuery.fn
。