jQuery插件默认包含复杂对象

时间:2012-10-01 20:52:31

标签: jquery-plugins undefined complextype defaults

以下默认定义是不良做法吗?

var defaults = {
    name:'',
    surname:'',
    address:{
        part1:'',
        part2:'',
        postCode:'' 
    }
};

如果插件启动程序只定义了地址对象中的part1,则其余的地址将是未定义的。

处理此问题的最佳方法是什么?或者我不应该使用复杂的对象作为选项吗?

1 个答案:

答案 0 :(得分:1)

好的,所以在我提出问题之前,我的搜索中只是一个措辞。

我不知道jQuery.extend()可以使用

递归递增
this.opts = $.extend(true,{}, defaults, options); 

而不是

this.opts = $.extend({}, defaults, options);