jQuery 插件默认包含复杂对象



以下默认值定义是不好的做法吗?

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

如果地址对象中只有 part1 由插件发起方定义,则地址的其余部分将未定义。

处理这个问题的最佳方法是什么?还是我根本不应该使用复杂对象作为选项?

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

我不知道jQuery.extend()可以使用递归扩展

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

而不是

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

最新更新