在javascript中加入2个键值对选项对象

时间:2012-10-22 18:04:48

标签: javascript jquery-dialog

如何合并2个键值对defaultDialogSetup和setupArray?

var defaultDialogSetup = { modal: true, show: 'fade', hide: 'fade' };

var setupArray = {
                open: function (e) { $(this).load($(link).attr('href')); },
                title: link.innerHTML,               
                width: 300,
                height: 250,
                buttons:
                {
                    "OK": function () { createTemplate($(this), $('form', this)); },
                    "Cancel": function () { $(this).dialog("close"); }
                }
            };

$dialog.dialog(setupArray);

2 个答案:

答案 0 :(得分:4)

使用jQuery.extend()

http://api.jquery.com/jQuery.extend/

  

将两个或多个对象的内容合并到第一个对象中   对象

setupArray = $.extend(defaultDialogSetup, setupArray);

答案 1 :(得分:1)

另一个选项是UnderscoreJS extend()

http://underscorejs.org/#extend

  

将源对象中的所有属性复制到目标对象,然后返回目标对象。它是有序的,因此最后一个源将覆盖先前参数中相同名称的属性。

语法与jQuery方法非常相似:

  

setupArray = _.extend(defaultDialogSetup,setupArray);