出于某种原因,我只能找到与$(selector).myPlugin();
我想要做的就是简单地用选项调用new myPlugin().
new myPlugin({
'option1': 'option 1 value',
'option2': 'option 2 value',
'option3': 'option 3 value',
'option4': 'option 4 value'
});
Run Code Online (Sandbox Code Playgroud)
我有一个常规函数,最多有8个参数,但我并不总是需要全部定义它们,我讨厌必须包含我不需要定义的所有参数的默认值.
function myFunction(param1, param2, param3, param4, param5, param6, param7, param8){
// Operations here
}
Run Code Online (Sandbox Code Playgroud)
有时候我只需要定义第一个和第五个参数或者其他什么,我需要其余的默认值.这是一种痛苦.
也许我在搜索中错过了这样的例子.
您可以使用$
命名空间声明您的新函数并使用它$.extend()
来处理您的默认值:
(function($) {
var defaults = {
name: 'Jack',
number: '555-jack'
}
$.myPlugin = function(options) {
var settings = $.extend({}, defaults, options);
this.someFunction = function() {
// you can use settings here
}
}
}(jQuery));
Run Code Online (Sandbox Code Playgroud)
我将默认值定义为私有变量(外部代码无法访问它)并在myPlugin
构造函数中使用它.呼叫如何工作的示例:
var x = new $.myPlugin({
number: '666-something'
});
Run Code Online (Sandbox Code Playgroud)
在构造函数内部,settings
变量包含名称from defaults
和构造函数参数中的数字.