我正在研究一个名为jQuery TE的jQuery插件。在构造函数方法中,传递了一个参数'options':
$.fn.jqte = function(options)
通常在调用此方法时,我们必须传递'options'参数,如下所示:
$(".editor").jqte({
"css":"example",
"source":false,
"titletext":false
});
我不明白我们没有义务将这个论点'选项'传递给它:
$(".editor").jqte();
确实不会导致任何错误。我没有在源代码控件中看到参数'options'存在的东西。
谁能向我解释一下,我找不到任何关于这个问题的资源。也许我误读了源代码?
以下是文档的链接: http://jqueryte.com/documentation
谢谢!
答案 0 :(得分:0)
查看此插件的来源,您可以发现选项已传递给jquery.extend()
,将将两个或多个对象的内容合并到第一个对象中({ {3}})。
你可以这样看:
var default = {left: 0, bottom: 3};
var options = {left: 1, top: 1}
var result = $.extend(default, options); // {left: 1, top: 1, bottom: 3};
jQuery扩展,在它的转向中,允许第二个参数传递为false。如果它是假的,(或不存在,或未定义,或......)那么它将只返回第一个参数('默认值')。这意味着您可以传递的所有选项都在默认数组中,这意味着如果您不通过选项,它将不会更改默认值。