0

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

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

如果插件发起者只定义了地址对象中的第 1 部分,则地址的其余部分将是未定义的。

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

4

1 回答 1

1

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

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

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

代替

this.opts = $.extend({}, defaults, options);
于 2012-10-01T21:20:33.693 回答