javascript中对象(或方法)的构造函数中的可选参数

时间:2014-10-24 10:42:40

标签: javascript jquery parameter-passing

我正在研究一个名为jQuery TE的jQuery插件。在构造函数方法中,传递了一个参数'options':

$.fn.jqte = function(options)

通常在调用此方法时,我们必须传递'options'参数,如下所示:

$(".editor").jqte({
    "css":"example",
    "source":false,
    "titletext":false
});

我不明白我们没有义务将这个论点'选项'传递给它:

$(".editor").jqte();

确实不会导致任何错误。我没有在源代码控件中看到参数'options'存在的东西。

谁能向我解释一下,我找不到任何关于这个问题的资源。也许我误读了源代码?

以下是文档的链接: http://jqueryte.com/documentation

谢谢!

1 个答案:

答案 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。如果它是假的,(或不存在,或未定义,或......)那么它将只返回第一个参数('默认值')。这意味着您可以传递的所有选项都在默认数组中,这意味着如果您不通过选项,它将不会更改默认值。