(function ( $ ) {
$.fn.greenify = function( options ) {
// This is the easiest way to have default options.
var settings = $.extend({
// These are the defaults.
color: "#556b2f",
backgroundColor: "white"
}, options );
// Greenify the collection based on the settings variable.
return this.css({
color: settings.color,
backgroundColor: settings.backgroundColor
});
};
}( jQuery ));
从Docs获取上面的代码显示了如何创建一个简单的jquery插件。如果我只提供接受多个插件中列出的多个参数之一,该怎么办?适用哪些?
如果我有一个可以接受多个参数的插件,那么这些参数将应用于以下内容:
$.doStuff({color:"black"},{color:"blue"});
当只提供一组参数时,哪些选项将被“扩展”?
E.x. $.doStuff({color:"black"});
答案 0 :(得分:1)
如果调用参数多于参数变量的函数,并且函数不使用特殊arguments
变量来访问变长参数,则会忽略额外参数。
所以在你的例子中:
$.greenify({color: "black"}, {color: "blue"});
options
变量将设置为{color: "black"}
,{color: "blue"}
参数将被忽略。